brut65
brut65

Reputation: 418

Update Set, match a single column, multiple values for different IDs in single query

How can I do this:

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;

With a single query with a matching (something like this):

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

Upvotes: 2

Views: 72

Answers (1)

Gabe Gates
Gabe Gates

Reputation: 1000

You should be able to do this using 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)

Upvotes: 1

Related Questions