带外键的INSERT语句

时间:2012-05-08 13:00:08

标签: mysql

我正在尝试将INSERT放入表中,但我收到错误Cannot add or update a child row: a foreign key contraint fails

正如错误所说,我有一个外键,我正在尝试更新。

现在我正在使用一个简单的INSERT

INSERT INTO tblTable1 (firstColumn, foreignKey) VALUES ('blabla', 1)

如果foreignKeytblTable2的ID

,我该如何插入此内容?

3 个答案:

答案 0 :(得分:3)

您需要先将记录添加到父表,然后再添加到子表。

来自foreign key constraints上的MySQL文档:

  

InnoDB拒绝任何尝试创建的INSERT或UPDATE操作   如果没有匹配项,则子表中的外键值   父表中的候选键值。

这是how to use foreign key constraints的MySQL文档和示例。

答案 1 :(得分:2)

你必须保持你的保守。您无法在相关表中添加没有合适值的记录!

答案 2 :(得分:2)

首先在表2中插入您应用外键约束的条目,然后在Table1中添加运行插入查询。它会起作用