Mysql
 sql >> Base de données >  >> RDS >> Mysql

SQL Empêcher les entrées en double si 2 valeurs existent

Vous pouvez créer un index/une contrainte unique sur les colonnes que vous souhaitez rendre uniques :

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

Un insert sur la table générera alors une erreur. Vous pouvez éviter l'erreur avec on duplicate key update :

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

La update ne fait rien (car les valeurs correspondent déjà) mais cela empêche le code de renvoyer une erreur.