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

click fraud protection

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