MySQLCommandBuilder和外键

时间:2012-05-07 15:04:21

标签: mysql vb.net winforms

我的winform应用程序中有一个非常标准的MySQL查询,如下所示:

SELECT * FROM tblTable WHERE tblTable.tableID = " & variable

其中一个字段是外键。当我尝试向我的datagridview添加记录时,我收到错误:

  

无法添加或更新子行:外键约束失败

MySQLCommandBuilder不能使用包含外键的表生成INSERT命令吗?

2 个答案:

答案 0 :(得分:0)

外键约束是为了防止这样的行为(为了数据库的完整性)。您可能正在尝试插入一个值,该值通过不存在的主键引用另一个表。

尝试将外键值更改为另一个表中的现有主键。

答案 1 :(得分:0)

您可以使用此强制插入记录,但不建议

SET FOREIGN_KEY_CHECKS = 0;

your select statement;

SET FOREIGN_KEY_CHECKS = 1;

外键检查是为了避免表之间的不一致,正确的方法是:首先在主表中插入foreing键然后在子表上添加记录