スポンサーリンク

MySQL ワークベンチで1175エラーが発生する時の対処方

スポンサーリンク

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にします。

  1. メニュー – [Edit] – [Preferences]を選択して設定画面を起動
  2. 左側で[SQL Editor]を選択する。
  3. [Safe Updates]チェックボックスのチェックを外す
kこ※画面はバージョン8.0.25のワークベンチです。

コメント