Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL ON DUPLICATE KEY UPDATE pour l'insertion de plusieurs lignes dans une seule requête

À partir de MySQL 8.0.19, vous pouvez utiliser un alias pour cette ligne (voir référence ).

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
    ...

Pour les versions antérieures, utilisez le mot-clé VALUES (voir référence , obsolète avec 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),
     ...