首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL ALTER TABLE creating:‘完整性约束冲突: 1452’

MySQL ALTER TABLE creating:‘完整性约束冲突: 1452’
EN

Stack Overflow用户
提问于 2012-02-04 05:10:20
回答 1查看 2.4K关注 0票数 0

下面的代码在执行时会产生以下错误:

致命错误:未捕获异常'PDOException‘,消息为'SQLSTATE23000:完整性约束冲突: 1452无法添加或更新子行:外键约束失败

代码语言:javascript
复制
$db->executeUpdate('CREATE TABLE submission_statuses (name VARCHAR(255) NOT NULL, 
                    weight INT NOT NULL, PRIMARY KEY(name)) ENGINE = InnoDB');
$db->executeUpdate('ALTER TABLE submissions ADD CONSTRAINT IDX_4 
                    FOREIGN KEY (status) REFERENCES submission_statuses(name)');
$db->executeUpdate('CREATE INDEX IDX_4 ON submissions (status)');

这两个表都使用InnoDB引擎。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-04 05:13:16

submissionsstatus列中包含的值在新创建的submission_statuses表中不存在。必须先填充submission_statuses表,然后才能创建约束。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9135523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档