问题:
MySQL 在执行 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. To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.
原因:
MySQL运行在safe-updates模式下,该模式会导致非主键条件下无法执行update或者delete命令
解决方法:
执行以下命令更改MySQL数据库模式
set sql_safe_updates = 0;
或
set sql_safe_updates = off;
更改只在当前生效,退出mysql,再次登录后恢复为默认值。
拓展:
MySQL的变量SQL_SAFE_UPDATES,有两个取值0和1(ON 和OFF);
当SQL_SAFE_UPDATES = 1或ON时,不带where和limit条件的update和delete操作语句是无法执行的,即使是有where和limit条件但不带key column的update和delete也不能执行。
当SQL_SAFE_UPDATES =0或OFF时,update和delete操作将会顺利执行。
但为了数据库更新操作的安全性,此值默认为1。