许多UPDATE WHERE在一个SQL中

时间:2012-10-30 09:22:49

标签: mysql

我有一个非常糟糕的架构数据库,没有人想要修复任何东西,我必须使用我拥有的东西。所以问题出在屏幕上

bd

我需要更新用户连接以及更多字段......我看到的解决方案是SET ... WHERE AND SET .. WHERE AND SET ... WHERE(是的,此时我甚至不确定它是否可行)。那么可能有更常见的方法来解决这个问题?

2 个答案:

答案 0 :(得分:0)

只要您的值不同,我认为您需要进行单独更新。

你也可以考虑这样的事情:

UPDATE categories
    SET display_order = CASE id
        WHEN 1 THEN 3
        WHEN 2 THEN 4
        WHEN 3 THEN 5
    END,
    title = CASE id
        WHEN 1 THEN 'New Title 1'
        WHEN 2 THEN 'New Title 2'
        WHEN 3 THEN 'New Title 3'
    END
WHERE id IN (1,2,3)

答案 1 :(得分:0)

是否有特殊原因要更新一个查询中的所有字段。为什么不尝试编写单独的更新查询并将其作为批处理推送到数据库。