Update multiple columns for multiple rows in one query of SQL

后端 未结 2 1751
感动是毒
感动是毒 2020-12-30 01:37

I am trying to set multiple columns for multiple rows in one query, but so far no luck.

Here\'s how my table looks like

Table: user

相关标签:
2条回答
  • 2020-12-30 01:41

    try this

     update user
     set ext_flag = 'Y', admin_role = 'admin', ext_id = 
     case 
     when user_id = 2 then 345
     when user_id = 4 then 456
     when user_id = 5 then 789
     end
     **WHERE user_id  in (2,4,5)**
    
    0 讨论(0)
  • 2020-12-30 02:04

    You can also hack the insert operation :

    INSERT INTO mytable (id, a, b, c)
    VALUES (1, 'a1', 'b1', 'c1'),
    (2, 'a2', 'b2', 'c2'),
    (3, 'a3', 'b3', 'c3'),
    (4, 'a4', 'b4', 'c4'),
    (5, 'a5', 'b5', 'c5'),
    (6, 'a6', 'b6', 'c6')
    ON DUPLICATE KEY UPDATE id=VALUES(id),
    a=VALUES(a),
    b=VALUES(b),
    c=VALUES(c)
    
    0 讨论(0)
提交回复
热议问题