Maison > base de données > tutoriel mysql > Comment appliquer un indicateur par défaut unique dans les enregistrements de base de données ?

Comment appliquer un indicateur par défaut unique dans les enregistrements de base de données ?

Patricia Arquette
Libérer: 2024-12-30 01:31:09
original
472 Les gens l'ont consulté

How to Enforce a Unique Default Flag in Database Records?

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
Copier après la connexion

Dans ce scénario, la structure de la table comprend :

CREATE TABLE TableName(
    FormID INT NOT NULL,
    isDefault BIT NOT NULL
)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal