2

我知道我可以用几行 PHP 轻松地做到这一点,但我希望 MYSQL 中有一种方法可以做到这一点;我认为有,但我没有运气找到它。

基本上我想这样做:

UPDATE fieldName SET status='1'
if status='1', SET status='2'

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

4

2 回答 2

5

这行得通吗?

UPDATE table SET status = IF(status = 1, 2, 1) WHERE ...;

基本上,如果状态等于 1,则将其设置为 2,否则将其设置为 1。但是,如果这就是你想做的全部,你也可以这样做:

UPDATE table SET status = 2 WHERE status = 1;
于 2009-06-12T07:23:38.187 回答
1

如果您想拥有一个类似于切换按钮的字段,请尝试以下操作:

UPDATE table SET status = ABS(status - 1) WHERE...

这样每次更新状态时都会在 0 和 1 之间切换

于 2009-06-12T07:28:19.550 回答