某天,脑袋晕了,写了这样的update语句,set操作后面居然用and连接两个更新字段的值 = = !
示例如下:
执行第1行错误示例中的sql:
执行update操作前:
执行update操作后:
原值是 DepartmentId = 1,想要更新的目标值为 DepartmentId = 2
但错误示例中用了逻辑与 (AND) 操作,所以原值 (DepartmentId = 1) 与SET的目标值 (DepartmentId = 2) 通过与运算后为false,所以DepartmentId 最终被更新为 0:
1 & 2 = 0
(01 & 10 = 0)
正常情况:update要set更新多字段的值时,应用逗号 ',' 进行参数连接.