MySQL ON DUPLICATE KEY UPDATE para múltiplas linhas inseridas em uma única consulta

Eu tenho uma consulta SQL onde desejo inserir várias linhas em uma única consulta. então eu usei algo como:

$sql = "INSERT INTO beautiful (name, age)
  VALUES
  ('Helen', 24),
  ('Katrina', 21),
  ('Samia', 22),
  ('Hui Ling', 25),
  ('Yumie', 29)";

mysql_query( $sql, $conn );

O problema é que, quando executo essa consulta, quero verificar se umUNIQUE chave (que não é aPRIMARY KEY), por exemplo.'name' acima, deve ser verificado e se tal'name' já existe, a linha inteira correspondente deve ser atualizada, caso contrário, inserida.

Por exemplo, no exemplo abaixo, se'Katrina' já está presente no banco de dados, a linha inteira, independentemente do número de campos, deve ser atualizada. Novamente se'Samia' não estiver presente, a linha deve ser inserida.

Eu pensei em usar:

INSERT INTO beautiful (name, age)
      VALUES
      ('Helen', 24),
      ('Katrina', 21),
      ('Samia', 22),
      ('Hui Ling', 25),
      ('Yumie', 29) ON DUPLICATE KEY UPDATE

Aqui está a armadilha. Fiquei preso e confuso sobre como proceder. Eu tenho várias linhas para inserir / atualizar de cada vez. Por favor me dê uma direção. Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion