MySQLでupdate文を実行するとError:1175

MySQLでUPDATE文を実行すると、以下のエラーが発生した。 (Workbench使用のときに限る)

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はこちら。

ex.

UPDATE table SET count_max = floor(count/100) WHERE floor(count/100) < count_max; なお、countもcount_maxもPKではない。

このエラーが起きる原因は、大量の(主キー以外の)update/deleteをワークベンチから行えない制約になっているから。 一時的にこの制約を外してあげると実行可能。

SET SQL_SAFE_UPDATES = 0;

なお、元に戻してあげるには、このフラグを1にする。

SET SQL_SAFE_UPDATES = 1;