使用MYSQL我正在使用此查询:
UPDATE CustomerDetails_COPY
SET Category_ID = 10
WHERE Category_ID = 2
Run Code Online (Sandbox Code Playgroud)
这很好,但我想要更多15+以上SET/WHERE:
UPDATE CustomerDetails_COPY
SET Category_ID = 9 WHERE Category_ID = 3
SET Category_ID = 12 WHERE Category_ID = 4
SET Category_ID = 11 WHERE Category_ID = 5
.....
Run Code Online (Sandbox Code Playgroud)
我该如何添加?
编辑:
正如每个猎人的建议:
UPDATE CustomerDetails_COPY
SET Category_ID = CASE Category_ID
WHEN 2 THEN 10
WHEN 3 THEN 9
WHEN 4 THEN 12
WHEN 5 THEN 11
END
WHERE Category_ID IN (2,3,4,5)
Run Code Online (Sandbox Code Playgroud)
这很棒!谢谢
Hun*_*len 18
这样的事情对你有用:
UPDATE CustomerDetails_COPY
SET Category_ID = CASE Category_ID
WHEN 2 THEN 10
WHEN 3 THEN 9
WHEN 4 THEN 12
WHEN 5 THEN 11
END
WHERE Category_ID IN (2,3,4,5)
Run Code Online (Sandbox Code Playgroud)
或者,正如Simon建议的那样,您可以这样做以避免两次输入值:
UPDATE CustomerDetails_COPY
SET Category_ID = CASE Category_ID
WHEN 2 THEN 10
WHEN 3 THEN 9
WHEN 4 THEN 12
WHEN 5 THEN 11
ELSE Category_ID
END
Run Code Online (Sandbox Code Playgroud)
资料来源:http://www.karlrixon.co.uk/writing/update-multiple-rows-with-different-values-and-a-single-sql-query/