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

Puis-je appliquer conditionnellement une contrainte d'unicité ?

Ajoutez une autre colonne appelée quelque chose comme isactive . La création d'une contrainte unique sur (username, isactive) .

Ensuite, vous pouvez avoir un nom d'utilisateur actif et inactif en même temps. Vous ne pourrez pas avoir deux noms d'utilisateur actifs.

Si vous voulez plusieurs noms inactifs, utilisez NULL pour la valeur de isactive . NULL les valeurs peuvent être répétées dans un index unique.