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。
同じデータベースの他の項目
- 2006MySQL server has gone away(MySQL サーバーとの接続が失われた)
- 1114The table is full(テーブルが満杯)
- 1215Cannot add foreign key constraint(外部キー制約を追加できない)
- 1452Cannot add or update a child row: a foreign key constraint fails(子行を追加/更新できない: 外部キー制約違反)
- 1366Incorrect string/integer value for column(列に対する文字列/整数値が不正)
- 1044Access denied for user to database(データベースへのアクセス拒否)
- 1264Out of range value for column(列の範囲外の値)