使用外键的INSERT语句

问题描述:

我想将INSERT变成表格,但出现错误Cannot add or update a child row: a foreign key contraint fails使用外键的INSERT语句

而且错误说,我有一个外键我试图更新。

现在我用一个简单的INSERT,如:

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

我怎样才能插入此,如果foreignKeytblTable2的ID?

+0

你可以发布tblTable1的'create table statement'和'SELECT * FROM tblTable2 WHERE ID = 1'的结果吗? –

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

从MySQL文档foreign key constraints

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

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

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

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