MySQLのワークベンチ(MySQL Workbench)で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.
のエラーが発生する事があります。今回は1175エラーの回避方法を紹介します。
原因
1175エラーはワークベンチでキーを指定せずにUPDATE文やDELETE文を実行した場合に発生します。間違って大量のデータをUPDATEやDELETEしない為の予防的な意味を持つエラーでSQL文の構文エラーではありません。では、MySQLでは大量のデータをUPDATEやDELETE出来ないかというとそうではありません。これはワークベンチがMySQLに接続する際にこれらの行為を防ぐためにSQL_SAFE_UPDATESオプションがONになっている為です。
解決方法? ?一時的な解決?
UPDATE文やDELETE文を実行する前に
SET SQL_SAFE_UPDATES = 0;
を実行します。これでエラーは発生しなくなります。
解決方法? ?恒久的な解決?
ワークベンチがMySQLに接続する際にSQL_SAFE_UPDATESオプションをOFFにします。
- メニュー – [Edit] – [Preferences]を選択して設定画面を起動
- 左側で[SQL Editor]を選択する。
- [Safe Updates]チェックボックスのチェックを外す

コメント