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

1451: Cannot delete or update a parent row: a foreign key constraint fails(親行を削除/更新できない: 外部キー制約違反)

MySQL

意味

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

原因

参照されている親行にまだ子行があり、制約の ON DELETE/UPDATE が RESTRICT/NO ACTION になっている。

対処方法

先に依存する子行を削除するか別の親に移し、その後で親行を削除する。自動的な動作が必要なら、制約を ON DELETE CASCADE または ON DELETE SET NULL で再定義する。依存行を特定する: SELECT * FROM child_table WHERE fk_column = value。

DBAtlas で開く →

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