打开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只是信息,连警告都不算。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)