Tengo una consulta SQL donde quiero insertar varias filas en una sola consulta. por lo que utiliza algo como:MySQL ON DUPLICATE KEY UPDATE para insertar varias filas en una sola consulta
$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 cuando yo haga esta consulta, quiero comprobar si una clave única (que no es la clave principal), por ejemplo. 'nombre' en el caso anterior, debe verificarse y si ese 'nombre' ya existe, la fila completa correspondiente debe actualizarse de lo contrario insertada.
Por ejemplo, en el ejemplo siguiente, si 'Katrina' ya está presente en la base de datos, se debe actualizar toda la fila, independientemente del número de campos. De nuevo, si 'Samia' no está presente, la fila debe insertarse.
I pensado en utilizar:
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é atascado y confundí cómo proceder. Tengo varias filas para insertar/actualizar a la vez. Por favor dame la dirección. Gracias.
Gracias una tonelada. Eso es exactamente lo que quiero ... Gracias de nuevo ... – Prashant
** hermosa **, exactamente lo que necesitaba. * heh, ¿ves lo que hice allí? * –
¿Qué sucede si tenemos que incluir una declaración IF en la ACTUALIZACIÓN que tiene una condición diferente para cada fila? – logic