相关疑难解决方法(0)

在单个查询中更新具有不同值的多个行 - MySQL

我是MySQL的新手.

我在一个查询中使用它来更新具有不同值的多行:

UPDATE categories
    SET 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)
Run Code Online (Sandbox Code Playgroud)

我正在使用"WHERE"来提高性能(没有它会测试表中的每一行).

但是,如果我有这个senario(当我不想更新id 2和3的标题时):

UPDATE categories
    SET order = CASE id
        WHEN 1 THEN 3
        WHEN 2 THEN 4
        WHEN 3 THEN 5
    END,
    title = CASE id
        WHEN 1 THEN 'New …
Run Code Online (Sandbox Code Playgroud)

mysql rows

9
推荐指数
1
解决办法
9988
查看次数

标签 统计

mysql ×1

rows ×1