カテゴリー
SugiBlog Webデザイナー・プログラマーのためのお役立ちTips

MySQL Safe Updatesモード

MySQLのSafe UpdatesモードがONのとき、UPDATEやDELETEを実行しようとすると以下のような警告が出てエラーになることがあります。

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.

これはUPDATEやDELETEでWHERE句を付けなかったり、WHERE句でキーとなるカラムに条件指定をしなかったときに、間違って大量のデータを更新・削除してしまうことを防ぐための機能が働いているためです。

この機能は非常に有り難いものではあるんですが、開発をしているとどうしてもそういった処理をしたい場合があると思います。
そんなときは一時的にSafe UpdatesモードをOFFにして作業しましょう。

Safe UpdatesモードをOFFにするには以下のコードを実行します。

SET SQL_SAFE_UPDATES = 0;

処理が終わったら、必ず元に戻しましょう。

SET SQL_SAFE_UPDATES = 1;
871 views