Mysql
 sql >> Datenbank >  >> RDS >> Mysql

aktualisieren, wenn zwei Felder vorhanden sind, einfügen, wenn nicht (MySQL)

Ein eindeutiger Index in MySQL muss sich nicht auf einer einzelnen Spalte befinden. Sie können einen UNIQUE-Index für mehrere Spalten hinzufügen, indem Sie einfach mehr Spalten in Ihrem ALTER TABLE..ADD UNIQUE angeben Aussage:

ALTER TABLE myTable ADD UNIQUE (
    mykey,
    myfoo
);

Jetzt können Sie einen normalen INSERT INTO...ON DUPLICATE KEY verwenden Aussage.

SQLFiddle-DEMO (Beachten Sie, dass die mehrfach wiederholten Werte nicht hinzugefügt werden – alle anderen werden )

Hinweis :

Wenn eines NULL ist, wird es nicht als einmalig gelten. mykey B. 'bar' und myfoo NULL zu sein, könnte zu unendlich hinzugefügt werden, obwohl sie die "gleichen" Werte haben (NULL ist nicht wirklich ein Wert).