INSERT INTO .. ON DUPLICATE KEY UPDATE for multiple items

前端 未结 3 708
Happy的楠姐
Happy的楠姐 2020-12-07 10:33

I want to do something like this

INSERT INTO t (t.a, t.b, t.c) 
VALUES (\'key1\',\'key2\',\'value\') 
ON DUPLICATE KEY UPDATE 
t.c = \'value\';
INSERT INTO          


        
3条回答
  •  抹茶落季
    2020-12-07 10:58

    After MySQL 8.0.19, you can use as keyword, for example:

    INSERT INTO t1 (a,b,c) VALUES (1,2,3),(4,5,6) AS new
      ON DUPLICATE KEY UPDATE c = new.a+new.b;
    

    or

    INSERT INTO t1 (a,b,c) VALUES (1,2,3),(4,5,6) AS new(m,n,p)
      ON DUPLICATE KEY UPDATE c = m+n;
    

    ref: https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html

提交回复
热议问题