选择&根据一个sql中的状态更新

时间:2010-12-02 07:21:39

标签: mysql

我想知道如何做到这一点:

目前我有这个,因为您可以看到我选择了所有status 0 & 2,然后在代码更新status 0 to 97和状态2 to 99

SELECT id_queue, status FROM table WHERE status IN (0,2) ORDER BY status, id_queue ASC FOR UPDATE;

UPDATE table SET status = 97 WHERE id_queue= " + id_sms + ";

UPDATE table SET status = 99 WHERE id_queue= " + id_sms + ";

我想要SELECT & UPDATE,并获取id_queue的行ID以供日后使用 有人可以帮忙吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

UPDATE table
SET status = CASE status WHEN 0 THEN 97
                         WHEN 2 THEN 98
             END
WHERE status IN (0, 2)

如果要保存id_queue值,则需要创建临时表,或将它们存储在数据库外的程序中。我会做第二个最合理的尺寸 - 如果你能把它们放在你的程序范围内,那就少了很少的管家。