sql >> Databasteknik >  >> RDS >> Mysql

MySQL PÅ DUBLIKATNYCKELUPPDATERING för flera rader infoga i en enda fråga

Från och med MySQL 8.0.19 kan du använda ett alias för den raden (se referens ).

INSERT INTO beautiful (name, age)
    VALUES
    ('Helen', 24),
    ('Katrina', 21),
    ('Samia', 22),
    ('Hui Ling', 25),
    ('Yumie', 29)
    AS new
ON DUPLICATE KEY UPDATE
    age = new.age
    ...

För tidigare versioner använd nyckelordet VALUES (se referens , utfasad med MySQL 8.0.20).

INSERT INTO beautiful (name, age)
    VALUES
    ('Helen', 24),
    ('Katrina', 21),
    ('Samia', 22),
    ('Hui Ling', 25),
    ('Yumie', 29)
ON DUPLICATE KEY UPDATE
    age = VALUES(age),
     ...


  1. SQL Server BULK INSERT från Linux

  2. Kan inte trunkera tabellen eftersom den refereras av en FOREIGN KEY-begränsning?

  3. Tabellvärderad Parameter Ekvivalent i Postgresql

  4. Hur man uppgraderar MySQL 5.5 till 5.6 på Ubuntu 14.04