エラー「Cannot truncate a table referenced in a foreign key constraint」が起きた件
MySQLで、
テーブルデータを綺麗にするために、
「truncate」
の構文を使おうとしたときに、
「Cannot truncate a table referenced in a foreign key constraint」
というエラーが出たので、
その対応をした時のメモ。
発生状況、エラー内容
状況としては、
2つのテーブルがあり、
片方のテーブルは、そちらのメインのキーを外部キーとして、
使用しているようなテーブル構成だった。
実行しようとしたコマンド
truncate table target_table;
発生したエラー
ERROR 1701 (42000):
Cannot truncate a table referenced in a foreign key constraint (....)
エラー対応
外部キー制約を外すことができるので、
foreign_key_checks
という設定を変更することで、
外部キー制約設定を制御して対応することができる。
外部キー制約をOFF
set foreign_key_checks = 0;
外部キー制約をON
set foreign_key_checks = 1;
上記で、
外部キー制約をOFFにしてから、
truncate構文で更新すると上手く動いた。
就職/転職に向けてスキルを高めるために
プログラミングのスキルを高めるために、
以下のサイトを参考にしてみてください。
おすすめ書籍
コメント一覧
コメントはまだありません。
コメントを残す