我的winform应用程序中有一个非常标准的MySQL查询,如下所示:
SELECT * FROM tblTable WHERE tblTable.tableID = " & variable
其中一个字段是外键。当我尝试向我的datagridview添加记录时,我收到错误:
无法添加或更新子行:外键约束失败
MySQLCommandBuilder不能使用包含外键的表生成INSERT命令吗?
答案 0 :(得分:0)
外键约束是为了防止这样的行为(为了数据库的完整性)。您可能正在尝试插入一个值,该值通过不存在的主键引用另一个表。
尝试将外键值更改为另一个表中的现有主键。
答案 1 :(得分:0)
您可以使用此强制插入记录,但不建议
SET FOREIGN_KEY_CHECKS = 0;
your select statement;
SET FOREIGN_KEY_CHECKS = 1;
外键检查是为了避免表之间的不一致,正确的方法是:首先在主表中插入foreing键然后在子表上添加记录