MySQL ON DUPLICATE KEY UPDATE para insertar múltiples filas en una sola consulta

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 unUNIQUE clave (que no es laPRIMARY KEY), p.ej.'name' arriba, debe verificarse y si tal'name' ya existe, la fila completa correspondiente se debe actualizar, de lo contrario se debe insertar.

Por ejemplo, en el ejemplo a continuación, si'Katrina' ya está presente en la base de datos, toda la fila, independientemente del número de campos, debe actualizarse. De nuevo si'Samia' no está presente, la fila debe insertarse.

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.

Respuestas a la pregunta(3)

Su respuesta a la pregunta