1. ホーム
  2. データベース

親行が削除または更新できない: 外部キー制約に失敗 解決策

2022-02-09 17:42:56

テーブルのデータを消去するために delete from table ステートメントを使用していますが、Cannot delete or update a parent row: a foreign key constraint fails というエラーが表示されます。

まず、私のデータベースを掲載します。

tb_device テーブル





tb_device_status_now テーブル



<スパン 主なトピック


最初、tb_deviceを直接空にしたらエラーになりました。データベースを見ると、tb_device_status_nowのフィールドは、その外部キーと関連付けられているので、クリアできないことがわかりました。そこで、代わりに、まずそれをクリアしました tb_device_status_now テーブル、次に それでもエラーが報告されるのです もう一度データベースを見てみると、tb デバイステーブルの dev_master フィールドは dev_id フィールドと外部キーとして関連付けられています。

<スパン <スパン そこで、クリアするために dev_master フィールドをクリアする前に tb_device テーブル全体。

<スパン <スパン <スパン <スパン フィールドのデータをクリアするSQLステートメントです。 update table set column=null

<スパン <スパン <スパン <スパン <スパン

<スパン <スパン <スパン <スパン ついに私の削除指令が。