【Mysql】执行删除 *** 作时,报错,code=1175

【Mysql】执行删除 *** 作时,报错,code=1175,第1张

delete from Course where Cid not like "C%"

在执行这条命令时,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"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6170553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存