常见的MySql的一个小错误,原本sql语句是没有出错的:让我们看看这个错误吧!
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.
翻译过来就是:
错误代码:1175。你正在使用安全更新模式,你试图更新一个没有在哪里使用键列禁用安全模式的表,在首选项中切换选项;SQL编辑器和重新连接。
在delete或者update的时候,都可能会出现这种警告/报错,这主要是因为版本较新的MySQL是在safe-updates模式下进行sql操作的,这个模式会导致在非主键条件下无法执行update或者delete 修改方式:
几个解决的方案:
若你的表中定义了key 的值,在where 后面添加 对应的key的变量,比如:
update emp set sal=2000 where ename ='法师' and id >0;
其中id是key值。这样就可以解决了。
啥,你创建的表没有设置key值??? 没有事,那么我们就先写上这句代码吧。
set sql_safe_updates=0; /*取消安全模式*/
然后执行:
update emp set sal=2000 where ename ='法师';
然后在变回来:
set sql_safe_updates=1;
额,你又觉得太麻烦,那有没有更方便的办法呢,额,就你事多 ,那就看下面的吧,直接让软件里面关闭吧:
点开数据库管理界面的Edit->Preference->SQL Editor。
点击ok就好了,就不会检测safe了,是不是会了,一步到位。