更新集,匹配单个列,在单个查询中匹配多个ID的多个值

时间:2018-07-31 11:42:44

标签: mysql mysqli

我该怎么做:

UPDATE `TEST_TABLE` SET `C1` = 'VALUE_FOR_ID1' WHERE `ID` = 1;
UPDATE `TEST_TABLE` SET `C1` = 'VALUE_FOR_ID2' WHERE `ID` = 2;
UPDATE `TEST_TABLE` SET `C1` = 'VALUE_FOR_ID3' WHERE `ID` = 3;

通过单个查询进行匹配(类似这样):

UPDATE `TEST_TABLE` SET `C1` = ('VALUE_FOR_ID1','VALUE_FOR_ID2','VALUE_FOR_ID3') WHERE `ID` IN (1,2,3);

1 个答案:

答案 0 :(得分:1)

您应该可以使用 CASE

UPDATE  TEST_TABLE SET C1 =  
CASE
  WHEN ID = 1 THEN 'VALUE_FOR_ID1'
  WHEN ID = 2 THEN 'VALUE_FOR_ID2'
  WHEN ID = 3 THEN 'VALUE_FOR_ID3'
END
WHERE ID IN (1,2,3)