在执行这条命令时,mysql报错: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模式中,如果where后跟的条件不是主键id就会报这种错误。出现1175错误时,只要更改一下mysql的安全模式就行,以下两种方式都行:
mysql> set sql_safe_updates=0
mysql>set sql_safe_updates=off
SQL_SAFE_UPDATES有两个取值0和1, 或ON和OFF,默认值是1:
SQL_SAFE_UPDATES = 1/ON时,不带where和limit条件的update和delete *** 作语句是无法执行的,即使是有where和limit条件但不带主键id的update和delete也不能执行。
SQL_SAFE_UPDATES =0/OFF时,update和delete *** 作将会顺利执行。
所以,出现1175错误的时候,可以先设置SQL_SAFE_UPDATES的值为0/OFF,然后再执行更新即可。
你这个表带有关键字的,不能直接进行安全更新模式下更改表结构解决的方法不难,你只要在你的sql语句中加一个 where 语句就可以继续执行 了,经验之谈,where后加的东西一定要包含整个表例如 "where id >=0"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)