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

Unique Constraint, wie man Duplikate vermeidet

Erzwingen Sie die Eindeutigkeitsbeschränkung, indem Sie einen eindeutigen Schlüssel erstellen:

ALTER TABLE the_table
ADD UNIQUE INDEX nid_language_unique (nid, language);

Diese Einschränkung verbietet zwei Zeilen mit der gleichen Nid und Sprache.

Jede Abfrage, die versucht, die Einschränkung zu verletzen, schlägt fehl.

Da Sie Fehler ignorieren (und trotzdem die Abfrage abbrechen) möchten, können Sie IGNORIEREN EINFÜGEN und UPDATE IGNORE :

INSERT IGNORE INTO the_table (nid, language) VALUES (8, 'Chinese')
/* row not inserted and no error */