关键约束失败 - 这是什么意思?

时间:2012-03-01 15:20:01

标签: mysql

将数据保存到我的数据库时,我收到此错误:

  

SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:   外键约束失败(mydbsamplelist_item,CONSTRAINT FK_SAMPLELIST_ITEM_SAMPLELIST   FOREIGN KEY(samplelist_id)REFERENCES samplelistsamplelist_id)ON DELETE CASCADE ON UPDATE CASCADE)

不确定是什么问题。

2 个答案:

答案 0 :(得分:2)

听起来您正在尝试使用外键向表中添加行,但是您为外键列指定的值在外表中没有匹配。

答案 1 :(得分:1)

Ref 这是手动

的问题

如果父表中没有匹配的候选键值,InnoDB会拒绝任何尝试在子表中创建外键值的INSERT或UPDATE操作。当UPDATE或DELETE操作影响父表中具有子表中匹配行的键值时,结果取决于使用FOREIGN KEY子句的ON UPDATE和ON DELETE子句指定的引用操作。 InnoDB支持关于要采取的行动的五个选项。如果未指定ON DELETE或ON UPDATE,则默认操作为RESTRICT。