mysql update or delete 失败问题

mysql update or delete 失败问题,第1张

你写了一条正常的update 或者 delete 语句时,语句本身是没问题的,但是却执行不了。原因是是MySQL Workbench的安全设置。当要执行的SQL语句是进行批量更新或者删除的时候就会提示这个错误。

打开Workbench的菜单Edit->Preferences xxx->切换到SQL Editor

把Forbid UPDATE and DELETE statements without a WHERE clause (safe updates)的勾去掉击[OK]按钮重新启动就OK了。

或者在每句语句前,加上‘SET SQL_SAFE_UPDATES=0’

问题就解决了。

(ps:以后我会分享我所遇到的问题,这里持续更新!)

MYSQL的UPDATE关于检查更新前后数据是否变化,只有数据变化的时候才真正进行更新 *** 作,例如你的语句:

update user set name='xiaoy' where id=1

如果id唯一、并且存在有1的记录,而且name上没有限制,那么执行结果有两种可能:

Rows matched: 1 Changed: 1 Warnings: 0

Rows matched: 1 Changed: 0 Warnings: 0

如果该记录以前的值就不是xiaoy,那么结果就是第一种,否则是第二种。MYSQL的这个设计,减少无畏了修改 *** 作,提高性能。

如果是name字段有约束导致更新失败,语句是会报错的;警告是字段类型或者长度等超限,导致更新时候进行了处置的情况;changed=0只是信息,连警告都不算。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存