Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL ON DUPLICATE KEY UPDATE para inserir várias linhas em uma única consulta


A partir do MySQL 8.0.19, você pode usar um alias para essa linha (consulte referência ).
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
    ...

Para versões anteriores, use a palavra-chave VALUES (consulte referência , obsoleto com 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),
     ...