DBAtlas · データベース運用アトラス

ORA-02292: integrity constraint violated - child record found(整合性制約違反 - 子レコードがある)

Oracle

意味

親行を削除するかそのキーを変更しようとしたが、依存する子レコードが存在するため外部キー制約が許可しなかった。

原因

子テーブルにレコードがある親行を DELETE しようとした、FK が ON DELETE CASCADE なしで定義されている、依存レコードを先に整理していない。

対処方法

先に依存する子レコードを削除するか別の親レコードに移し、その後で親行を削除する。業務ルールが許すなら、外部キーを ON DELETE CASCADE で作り直す: ALTER TABLE child DROP CONSTRAINT fk_name; ALTER TABLE child ADD CONSTRAINT fk_name FOREIGN KEY (my_column) REFERENCES parent(key_col) ON DELETE CASCADE; 依存行を特定するには、親キーで子テーブルを照会する。

DBAtlas で開く →

同じデータベースの他の項目