[解決済み] DELETE文の競合REFERENCE制約
2022-01-29 03:06:51
質問内容
エラーが発生する
DELETE 文は REFERENCE 制約と競合しています。 FK_DocYDocument1 - テーブルDocYDocument、列SubDocID - ステートメント。 DELETE FROM DOCUMENT WHERE (ID=?) Parameter: 'D7FAA3CF...'.
テーブル DocYDocument にはカラムがあります。
PK ID, FK DocID and FK SubDocID.
And the keys PK_DocYDocument, FK_DocYDocument and FK_DocYDocument1.
FK_DocYDocument1 の外部キーカラムは SubDocID で、FK_DocYDocument の外部キーカラムは DocID です。
データベースの設計に問題があるのでしょうか、それともプログラムのエラーを探さなければならないのでしょうか?
どのように解決するのですか?
の行があります。
DocYDocument
を参照している
DOCUMENT
を削除してください。
から行を削除する必要があります。
DocYDocument
と一致する
DocID
DELETE FROM DocYDocument WHERE DocID = ?
DELETE FROM DOCUMENT WHERE ID = ?
または、これを自動的に行うように制約を変更する
ALTER TABLE DocYDocument
DROP CONTRAINT FK_DocYDocument;
ALTER TABLE DocYDocument
ADD CONSTRAINT FK_DocYDocument
FOREIGN KEY ( DocID )
REFERENCES DOCUMENT ( ID )
ON DELETE CASCADE;
もし
DocID
がヌルである場合、代わりに
ON DELETE SET NULL
ということです。
関連
-
[解決済み] INSERT ステートメントが FOREIGN KEY 制約と競合する - SQL Server
-
[解決済み] 2つの列を分割するには?
-
[解決済み] FOREIGN KEY制約で参照されているため、テーブルを切り捨てることができないのですか?
-
[解決済み] SQLiteでどのようにピボットするか、つまり、長い形式で保存されたテーブルを広い形式で選択するか?
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] MySQLで外部キー制約を一時的に無効にするにはどうすればよいですか?
-
[解決済み] NULLも許容するユニークな制約を作成するにはどうしたらいいですか?
-
[解決済み] 外部キーは自動的にインデックスを作成しますか?
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PL/SQL SELECTに複数のCOUNT(DISTINCT xxx)を指定すると、予期しない結果になる。
-
[解決済み】Postgresのエラー。式として使用されるサブクエリによって返される複数の行
-
[解決済み】集約関数のないTSQLピボット
-
[解決済み】一括読み込みデータ変換エラー(指定されたコードページに対して型の不一致または無効な文字)1行目4列目(年)について)
-
[解決済み] ''付近の構文が正しくない
-
[解決済み] ORA-04063: ビューにエラーがあります
-
[解決済み] "このSqlTransactionは完了しました。もう使用できません。"...設定エラー?
-
[解決済み] ORA-00918: 列があいまいに定義されています」を解決する方法
-
[解決済み] SQLiteでどのようにピボットするか、つまり、長い形式で保存されたテーブルを広い形式で選択するか?
-
[解決済み] 1行目4列目(年)の一括読み込みデータ変換エラー(型の不一致または指定したコードページに対して無効な文字)