在字段UPDATE如果值已经设置,将其设置为其他内容?

Chr*_*per 2 mysql sql-update

我知道我可以通过几行PHP轻松完成这项工作,但我希望MYSQL中有一个方法可以做到这一点; 我认为有,但我找不到运气.

基本上我想这样做:

UPDATE fieldName SET status='1'
if status='1', SET status='2'
Run Code Online (Sandbox Code Playgroud)

所以第二行显然不是真正的代码,但这就是我想要做的.将字段更新为值,如果该字段已等于该值,则将其更新为其他值.

Dar*_*ein 5

这会有用吗?

UPDATE table SET status = IF(status = 1, 2, 1) WHERE ...;
Run Code Online (Sandbox Code Playgroud)

基本上,如果状态等于1,则将其设置为2,否则将其保留为1.但是,如果您想要做的话,那么您可以这样做:

UPDATE table SET status = 2 WHERE status = 1;
Run Code Online (Sandbox Code Playgroud)