1

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

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

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

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

MySQLCommandBuilder 不能用包含外键的表创建 INSERT 命令吗?

4

2 回答 2

0

您可以使用此强制插入记录,但不推荐

SET FOREIGN_KEY_CHECKS = 0;

your select statement;

SET FOREIGN_KEY_CHECKS = 1;

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

于 2012-05-07T15:12:06.000 回答
0

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

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

于 2012-05-07T15:06:56.507 回答