Application d'un indicateur par défaut unique dans les enregistrements de base de données
Dans la gestion de bases de données, il est souvent nécessaire de garantir qu'un seul enregistrement dans un ensemble de données spécifique peut être marqué par défaut. Par exemple, un système peut disposer d'un ensemble d'enregistrements clients dans lequel un seul client est désigné par défaut à des fins de facturation. Pour répondre à cette exigence, des contraintes de base de données peuvent être mises en œuvre.
Utilisation d'index filtrés uniques
Sur SQL Server 2008 ou version ultérieure, l'utilisation d'index filtrés uniques constitue une solution efficace. :
CREATE UNIQUE INDEX IX_TableName_FormID_isDefault ON TableName(FormID) WHERE isDefault = 1
Dans ce scénario, la structure de la table comprend :
CREATE TABLE TableName( FormID INT NOT NULL, isDefault BIT NOT NULL )
Cet index garantit que pour un FormID donné, un seul enregistrement peut avoir l'indicateur isDefault défini sur 1. Si plusieurs enregistrements avec le même FormID tentent d'avoir cet indicateur défini, une erreur se produira, telle que :
Impossible d'insérer un doublon ligne clé dans l'objet 'dbo.TableName' avec l'index unique 'IX_TableName_FormID_isDefault'. La valeur de la clé en double est (1).
En exploitant des index filtrés uniques, vous pouvez efficacement implémenter des contraintes pour garantir qu'un seul enregistrement par critère spécifié (dans ce cas, FormID) peut être désigné par défaut.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!