使用MySQL执行update的时候报错:
- MySQL
-
在使用mysql执行update的时候,如果不是用主键当where语句,会报如下错误,使用主键用于where语句中正常。
异常内容: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.
-
这是因为MySql运行在safe-updates模式下,该模式会导致非主键条件下无法执行update或者delete命令,执行命令SET SQL_SAFE_UPDATES = 0;修改下数据库模式
-
为测试命令确实成功执行,我们先看执行update命令前的数据状态
-
执行update命令,可以看出命令执行成功的状态
-
重新查询数据库值,已经成功更新
-
如果想要提高数据库安全等级,可以在恢复回原有的设置,执行命令:SET SQL_SAFE_UPDATES = 1;
执行成功后,以delete命令为例,非主键情况下又报错了,说明安全等级修改成功
END
注意事项
- 在实际使用环境中,根据实际情况设置该参数