[英]Creating a table in SQL with column of unique entries
我有下表:
Create table [dbo].[Medewerker]
(
[Id] int PRIMARY KEY IDENTITY 91,1 NOT NULL,
[Wachtwoord] varchar(50) NOT NULL,
[Rechten] varchar(100) NOT NULL,
[Gebruikersnaam] varchar(30) UNIQUE NOT NULL
)
我正在嘗試使其達到最底線,以使“ Gebruikersnaam”列中的每個條目都是唯一的。 我做的對嗎? 您如何稱呼這種功能?
“ Gebruikersnaam”列中的每個條目都是唯一的
是的這是對的。 本質上,您所做的不過是在您的專欄Gebruikersnaam
添加UNIQUE CONSTRAINT
Gebruikersnaam
。
每條評論,是的,最好是顯式地命名約束,而不是讓數據庫引擎隱式分配默認名稱,例如
Create table [dbo].[Medewerker]
(
[Id] int PRIMARY KEY IDENTITY 91,1 NOT NULL,
[Wachtwoord] varchar(50) NOT NULL,
[Rechten] varchar(100) NOT NULL,
[Gebruikersnaam] varchar(30) NOT NULL,
CONSTRAINT idx_unique_Gebruikersnaam UNIQUE(Gebruikersnaam) --Here
)
您已經創建了一個唯一的約束,即所謂的約束。
但是,總是最好為索引和約束命名,也可以給主鍵命名。 看下面的例子。
您可以像這樣為現有表創建唯一索引
CREATE UNIQUE NONCLUSTERED INDEX idx_Gebruikersnaam
ON dbo.Medewerker(Gebruikersnaam)
在表中創建它看起來像這樣
Create table [dbo].[Medewerker]
(
[Id] int IDENTITY 91,1 NOT NULL,
[Wachtwoord] varchar(50) NOT NULL,
[Rechten] varchar(100) NOT NULL,
[Gebruikersnaam] varchar(30) NOT NULL,
constraint PK_MedewerkerId primary key (Id),
constraint idx_Gebruikersnaam unique (Gebruikersnaam)
)
我也將使用nvarchar代替varchar。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.