Tengo una consulta SQL donde quiero insertar varias filas en una sola consulta. así que usé algo como:
$sql = "INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)";
mysql_query( $sql, $conn );
El problema es que cuando ejecuto esta consulta, quiero verificar si una UNIQUE
clave (que no es la PRIMARY KEY
), por ejemplo 'name'
, anterior, debe verificarse y, si 'name'
ya existe, la fila completa correspondiente debe actualizarse de lo contrario.
Por ejemplo, en el ejemplo a continuación, si 'Katrina'
ya está presente en la base de datos, se debe actualizar toda la fila, independientemente del número de campos. Nuevamente, si 'Samia'
no está presente, se debe insertar la fila.
Pensé en usar:
INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29) ON DUPLICATE KEY UPDATE
Aquí está la trampa. Me quedé atrapado y confundido acerca de cómo proceder. Tengo varias filas para insertar / actualizar a la vez. Por favor dame una dirección. Gracias.