MySQL ON DUPLICATE KEY UPDATE für mehrere Zeilen in eine einzelne Abfrage einfügen

Ich habe eine SQL-Abfrage, bei der ich mehrere Zeilen in eine einzelne Abfrage einfügen möchte. Also habe ich etwas verwendet wie:

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

mysql_query( $sql, $conn );

Das Problem ist, dass ich beim Ausführen dieser Abfrage überprüfen möchte, ob einUNIQUE Taste (die nicht das @ iPRIMARY KEY), z.B.'name' oben, sollte überprüft werden und ob ein solches'name' existiert bereits, die entsprechende ganze Zeile sollte aktualisiert werden, andernfalls sollte sie eingefügt werden.

Zum Beispiel im folgenden Beispiel, wenn'Katrina' ist bereits in der Datenbank vorhanden, die gesamte Zeile sollte unabhängig von der Anzahl der Felder aktualisiert werden. Nochmals, wenn'Samia' ist nicht vorhanden, die Zeile sollte eingefügt werden.

Ich dachte an die Verwendung von:

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

Hier ist die Falle. Ich blieb stecken und war verwirrt, wie ich vorgehen sollte. Ich muss mehrere Zeilen gleichzeitig einfügen / aktualisieren. Bitte geben Sie mir eine Richtung. Vielen Dank

Antworten auf die Frage(6)

Ihre Antwort auf die Frage