以下是我的示例数据:
id name age location staff score
-------------------------------------------------
1 Joe 21 uk 0 100
2 Sam 27 uk 0 200
3 Luke 21 uk 1 3000
4 Kim 25 usa 0 60
我希望将所有分数重新设置为10
,除了身份3
上的Luke,而不将Luke重置为0
。
我的代码是这样的:
UPDATE users_stats SET score = '10' WHERE staff = '0' AND not(id = '3')
但是会将ID 3
重置为0
。我不希望它触及身份3
。
答案 0 :(得分:0)
这样做的一种方法是:
UPDATE users_stats
SET score = 10
WHERE staff = 0 AND
id <> 3
更常见的方式是:
UPDATE users_stats
SET score = 10
WHERE staff = 0 AND
id != 3
在MySQL中,它们的含义相同:
另外,作为旁注,由于Luke是一名工作人员1
,您甚至不需要id
检查,因为它只会将员工0
的成绩更改为得分10
。