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

Contrainte UNIQUE, uniquement lorsqu'un champ contient une valeur spécifique

Vous pouvez essayer de créer un index UNIQUE multi-colonnes avec column_1, column_2 et active, puis définir active=NULL pour les lignes où l'unicité n'est pas requise. Alternativement, vous pouvez utiliser des déclencheurs (voir MySQL trigger syntax) et vérifiez pour chaque ligne insérée/mise à jour si de telles valeurs sont déjà dans le tableau - mais je pense que ce serait plutôt lent.