1

私のwinformアプリケーションには、次のようなかなり標準的なMySQLクエリがあります。

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

フィールドの 1 つが外部キーです。そして、データグリッドビューにレコードを追加しようとすると、エラーが発生します:

子行を追加または更新できません: 外部キー制約が失敗します

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 に答える