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只是信息,连警告都不算。
后面的各个字段前不用‘set’关键字
update cost set name=? ,base_duration=?,base_cost=? ,unit_cost=?, status=? , descr=? ,creatime=? ,startime=? ,costype=? where id=?有一个set就够了,多了MYSQL反而不知道你是什么意思了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)