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

SQL verhindert doppelte Einträge, wenn 2 Werte vorhanden sind

Sie können einen eindeutigen Index/eine eindeutige Einschränkung für die Spalten erstellen, die eindeutig sein sollen:

alter table t add constraint unq_t_bburl_addontitle unique t(bburl, addontitle)

Eine Einfügung in die Tabelle erzeugt dann einen Fehler. Sie können den Fehler mit on duplicate key update vermeiden :

insert into t ( . . . )
    values ( . . . )
    on duplicate key update bburl = values(bburl);

Das update tut nichts (weil die Werte bereits übereinstimmen), aber dies verhindert, dass der Code einen Fehler zurückgibt.