下面的代码在执行时会产生以下错误:
致命错误:未捕获异常'PDOException‘,消息为'SQLSTATE23000:完整性约束冲突: 1452无法添加或更新子行:外键约束失败
$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引擎。
发布于 2012-02-04 05:13:16
表submissions的status列中包含的值在新创建的submission_statuses表中不存在。必须先填充submission_statuses表,然后才能创建约束。
https://stackoverflow.com/questions/9135523
复制相似问题