MySQL Error Code:1175 [mysql]

mysqlで以下のUpdate文を実行するとエラー(1175)が発生した。

update tbla set user_busyo = 'abc' where user_busyo = 'ABC';

マニュアルを見るとmysqlでは「UPDATE ステートメントまたは DELETE ステートメントは、WHERE 句にキーの制約を指定するか、LIMIT 句を提供するか (または両方) しないかぎり実行を許可されません。 」とあった。
https://dev.mysql.com/doc/refman/5.6/ja/mysql-tips.html

誤って全行を削除したり更新したりしてしまうのを防ぐための機能だそうです。
上記のSQL文もwhere句にキーを指定していないケースなので、mysql側で防止機能が働いたようです。

解除するには SET SQL_SAFE_UPDATES = 0; をSQL文の前に記述するか
サーバーシステム変数を変更する必要があるようです。
https://dev.mysql.com/doc/refman/5.6/ja/server-system-variables.html

かなりはまりました。。。
以上です。

コメント

人気の投稿