MySQL ON DUPLICATE Schlüsseleinsatz in einer Prüfung oder Logtabelle
-
28-09-2019 - |
Frage
Gibt es eine Möglichkeit, dies zu erreichen?
INSERT IGNORE INTO some_table (one,two,three) VALUES(1,2,3)
ON DUPLICATE KEY (INSERT INTO audit_table VALUES(NOW(),'Duplicate key ignored')
Ich möchte wirklich nicht PHP für diesen Einsatz: (
Danke!
Lösung
Andere Tipps
ON DUPLICATE KEY verwendet wird, um die Zeile zu aktualisieren, nicht in einer anderen Tabelle einfügen, haben Sie zwei Abfragen zu verwenden, nach dem ersten der Folge hat.
EDIT: Sie können auch einen Trigger verwenden
Nicht sicher, ob dies funktionieren würde, aber Blick in IF-Anweisung für MySQL
Pseudo-Code
IF(SELECT id_key_index FROM tbl WHERE id_key_index = $index) THEN (UPDATE SECOND TBL);
ELSE
INSERT ...
END IF;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow