Heim > Datenbank > MySQL-Tutorial > Wie kann sichergestellt werden, dass in SQL Server nur ein Standarddatensatz pro eindeutiger Kennung vorhanden ist?

Wie kann sichergestellt werden, dass in SQL Server nur ein Standarddatensatz pro eindeutiger Kennung vorhanden ist?

Susan Sarandon
Freigeben: 2025-01-04 07:55:35
Original
275 Leute haben es durchsucht

How to Ensure Only One Default Record Exists per Unique Identifier in SQL Server?

Pflege eines einzelnen Standarddatensatzes: Durchsetzung von Einschränkungen

In Datenbankverwaltungssystemen ist die Sicherstellung der Datenintegrität und -konsistenz von entscheidender Bedeutung. Ein solches Szenario erfordert die Begrenzung der Anzahl der als „Standard“ markierten Datensätze auf nur einen pro Satz von Zeilen, die durch eine eindeutige Kennung gekennzeichnet sind. Wie kann dies erreicht werden?

Einzigartige gefilterte Indexlösung

Für SQL Server-Versionen 2008 und höher bietet ein eindeutiger gefilterter Index eine elegante Lösung. Durch die Erstellung eines eindeutigen gefilterten Index, wie unten gezeigt:

CREATE UNIQUE INDEX IX_TableName_FormID_isDefault ON TableName(FormID) WHERE isDefault = 1
Nach dem Login kopieren

... stellen wir sicher, dass für jede gegebene FormID nur ein Datensatz vorhanden sein kann, dessen Bit-Flag „isDefault“ auf 1 gesetzt ist.

Die zugrunde liegende Tabellenstruktur wird wie folgt dargestellt:

CREATE TABLE TableName(FormID INT NOT NULL, isDefault BIT NOT NULL)
Nach dem Login kopieren

Erzwingung der Einschränkung

Diese Einschränkung erzwingt, dass jeder Versuch, mehrere Datensätze mit derselben FormID und „isDefault“ auf 1 einzufügen, einen Fehler auslöst, der auf das Vorhandensein doppelter Schlüsselwerte im eindeutigen Index hinweist. Wenn beispielsweise mehrere Zeilen mit übereinstimmenden FormIDs und „isDefault“-Flags auf 1 eingefügt werden, wird eine Fehlermeldung generiert:

Kann keine doppelte Schlüsselzeile in Objekt „dbo.TableName“ mit eindeutigem Index „IX_TableName_FormID_isDefault“ einfügen '. Der doppelte Schlüsselwert ist (1).

Durch den Einsatz dieser Technik können Datenbankadministratoren die Integrität ihrer Daten effektiv aufrechterhalten und sicherstellen, dass nur ein einziger Datensatz als Standarddatensatz für einen bestimmten Satz von Zeilen festgelegt wird.

Das obige ist der detaillierte Inhalt vonWie kann sichergestellt werden, dass in SQL Server nur ein Standarddatensatz pro eindeutiger Kennung vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage