使用外键的INSERT语句
问题描述:
我想将INSERT
变成表格,但出现错误Cannot add or update a child row: a foreign key contraint fails
。使用外键的INSERT语句
而且错误说,我有一个外键我试图更新。
现在我用一个简单的INSERT
,如:
INSERT INTO tblTable1 (firstColumn, foreignKey) VALUES ('blabla', 1)
我怎样才能插入此,如果foreignKey
是tblTable2
的ID?
答
您需要先将记录添加到父表中,然后再添加子表。
从MySQL文档foreign key constraints:
的InnoDB拒绝任何试图在子表中创建 外键值,如果没有父表匹配的 候选键值的INSERT或UPDATE操作。
这是MySQL文档how to use foreign key constraints和示例。
答
你必须保持你的constaints。您无法在相关表格中添加没有合适值的记录!
答
首先插入那个在表2中应用外键约束的条目,然后在表1中添加运行插入查询。它将起作用
你可以发布tblTable1的'create table statement'和'SELECT * FROM tblTable2 WHERE ID = 1'的结果吗? –