Útmutató az egyedülálló korlátozásokhoz a Microsoft SQL Serverben

Egyedülálló létrehozásával kényszer, Az SQL Server rendszergazdái megadják, hogy az adatbázis oszlop nem tartalmazhat ismétlődő értékeket. Amikor létrehoz egy új UNIQUE kényszer, Az SQL Server ellenőrzi a kérdéses oszlopot, hogy megállapítsa, tartalmaz-e ismétlődő értékeket. Ha a asztal duplikátumokat tartalmaz, a kényszer létrehozása parancs meghiúsul. Hasonlóképpen, miután meghatározt egy UNIQUE korlátozást egy oszlopon, sikertelenül próbálkoznak olyan adatok hozzáadásával vagy módosításával, amelyek duplikátumok létezhetnek.

SQL-kód fekete alapon.
KIVILCIM PINAR / Getty Images

Miért érdemes az UNIQUE kényszereket használni?

Az UNIQUE kényszer és az elsődleges kulcs egyaránt érvényesíti az egyediséget, de van, hogy az UNIQUE kényszer a jobb választás.

  • Használjon UNIQUE kényszert több korlátozás megadásához egy táblához. Csak egy elsődleges kulcsot csatolhat egy táblához.
  • Használjon UNIQUE kényszert, ha egy oszlop null értéket engedélyez. Az elsődleges kulcs korlátozásai csak olyan oszlopokhoz csatolhatók, amelyek nem engedélyeznek nullértékeket.
instagram viewer

Egyedi korlátozás létrehozása

A Transact-SQL egyedi kényszerének létrehozásának legegyszerűbb módja az SQL Management Studio Object Explorer alkalmazásban lévő adatbázis-motorhoz való csatlakozás, majd a Új lekérdezés.

Használja a következő lekérdezést, szükség szerint módosítva a kifejezéseket, hogy hozzon létre egy új táblázatot és adjon meg egy korlátozást egy oszlophoz:

HASZNÁLJA az AdventureWorks2012-et; 
MEGY
Táblázat létrehozása. TransactionHistoryArchive4
(
TransactionID int NOT NULL,
CONSTRAINT AK_TransactionID UNIQUE (TransactionID)
);
MEGY.

Végezze el a lekérdezést.

Hasonlóképpen, egy meglévő tábla egyedi kényszerének létrehozásához hajtsa végre a következő T-SQL lekérdezést:

HASZNÁLJA az AdventureWorks2012-et; 
MEGY
ALTER TÁBLÁZAT Személy. Jelszó
ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt);
MEGY.

UNIQUE kényszerek vs. EGYEDI indexek

Némi zavart okozott az UNIQUE kényszer és az UNIQUE index közötti különbség. Bár különböző T-SQL parancsokat használhat a létrehozásukhoz (ALTER TABLE és ADD CONSTRAINT a korlátozásokhoz és CREATE UNIQUE INDEX indexekhez), ezek többnyire ugyanazzal a hatással bírnak. Valójában, amikor létrehoz egy UNIQUE korlátozást, az valójában egy UNIQUE indexet hoz létre az asztalon. Vegye figyelembe azonban a különbségeket:

  • Mutató létrehozásakor további opciókat adhat a létrehozási parancshoz.
  • A KÖRNYEZETT korlátozás alá eső oszlop használható a idegen kulcs.
instagram story viewer