sql >> Base de Datos >  >> RDS >> Mysql

MySQL ON ACTUALIZACIÓN DE CLAVE DUPLICADA para inserción de múltiples filas en una sola consulta

A partir de MySQL 8.0.19, puede usar un alias para esa fila (consulte referencia ).

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 versiones anteriores, utilice la palabra clave VALUES (ver referencia , en desuso con 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),
     ...