Mysql 如何更新除id N之外满足要求的所有记录?
以下是我的示例数据:Mysql 如何更新除id N之外满足要求的所有记录?,mysql,Mysql,以下是我的示例数据: id name age location staff score ------------------------------------------------- 1 Joe 21 uk 0 100 2 Sam 27 uk 0 200 3 Luke 21 uk 1 300
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
,除了id上的Luke3
,而不将Luke重置为0
我会这样编码:
UPDATE users_stats SET score = '10' WHERE staff = '0' AND not(id = '3')
UPDATE users_stats
SET score = 10
WHERE staff = 0 AND
id <> 3
但这会将id
3
重置为0
。我不希望它触碰id3
一种方法是:
UPDATE users_stats SET score = '10' WHERE staff = '0' AND not(id = '3')
UPDATE users_stats
SET score = 10
WHERE staff = 0 AND
id <> 3
在MySQL中,它们的意思是一样的:
- 如果id不同于3
另外,作为旁注,由于Luke是一个staff
1
,您甚至不需要检查id
,因为它只会将staff0
的分数更改为10
LGTM,可能是因为您的列类型是int,并且您正在根据varchar(“”)检查值是的,当我回顾自己的时候,我意识到了这一点。非常感谢。