我有这样的SQL表.
id Order
======== =========
1 4
2 3
3 5
4 1
5 2
Run Code Online (Sandbox Code Playgroud)
是否可以在1 sql语句中更新多行?即我想更新id = 3,order = 1和id = 5,order = 4和id = 1,order = 1
我知道如何在3个更新语句中执行此操作.但我想知道我是否可以在1 sql update语句中更新3行.
谢谢.
你可以用一个UPDATE声明来做到这一点,但我不会打扰.
在这种情况下使用三个单独的更新更有意义.尝试使用一个语句来完成它会使您的代码更不易读,更容易出错.
但如果你真的想要单一的陈述,那么你去:
UPDATE your_table
SET order = CASE id
WHEN 3 THEN 1
WHEN 5 THEN 4
WHEN 1 THEN 1
END
WHERE id IN (3, 5, 1)
Run Code Online (Sandbox Code Playgroud)