エラー「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構文で更新すると上手く動いた。

スキルを使って、就職/転職/副業する時のサイト

プログラミングのスキルなどを、自分なりに高めた上で、

自分のスキルをアピールして就職や転職を行い、年収をあげるか、

副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。

まずはできる範囲で取り組むことで、

少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。

おすすめ書籍

広告

おすすめ記事