[MySQL Workbench] UPDATE文でsafe modeによるエラー

Read More

MySQL Workbenchを使っていて、とあるUPDATE文を流そうとしたら以下のエラーがでた。

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 Queries and reconnect.



これは、
「UPDATE文の条件指定してないから止めるね」
ってMySQL Workbenchがおせっかいで心配してSQLの実行を止めてくれている。



対処法.SafeModeを解除する
Workbenchの設定をつついてSafeModeを解除する。


1.メニューから編集(E)→オプションを選択。



2.タブ「SQL Queries」を選択し、
"Safe Updates". Forbid UPDATEs and DELETEs with no key in WHERE dause or no LIMIT dause. Requires a reconnection.のチェックを外す。



3.OKボタンを押下。


以上。



これで条件なしのUPDATE文を流してもエラーで止められなくなった。
当然ながらこの設定をしたことによって操作上のリスクは上がっているのでその辺は十分気を付けたいところ。



--
ちなみに自分の環境ははMySQL Workbenchに日本語化するパッチを当てているのでメニュー部分だけが中途半端に日本語化されている。
この程度の日本語化ならいっそしない方がいい。
元に戻すのもめんどうなのでこのままにしているのだが。