2010-03-27 66 views
1

我有一個名爲Cars的表,並且表的主鍵是'id'。我也有一個叫'名字'的字段。我想確保沒有人進入相同的名字兩次,即使它不會打破我的數據庫完整性。如何在數據庫表中執行多個唯一字段

這樣做的最好方法是什麼?

回答

2
create unique index cars_unique_name on cars(name) 
1

只需在name字段中創建一個UNIQUE索引。在SQL它會是這樣的:

CREATE UNIQUE INDEX IX_Cars_name 
ON Cars(name); 

另一種可能性是創建一個unique constraint,像這樣:

ALTER TABLE Cars 
ADD CONSTRAINT Uqc_Cars_name 
UNIQUE (name) 

雙方將基本上做同樣的事情。

0

您可以在CREATE TABLE命令或ALTER TABLE命令中指定唯一索引約束。

它像

CREATE TABLE CARS( ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 名稱VARCHAR(100)UNIQUE KEY );

或剛剛創建上述表

CREATE TABLE CARS( ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 名稱VARCHAR(100) ); 和更高版本使用alter table添加獨特密鑰索引

0

如上所述,您可能需要唯一索引,但也可以使用唯一約束,而在某些情況下可能不需要索引。

CREATE TABLE cars 
(
    ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY CLUSTERED, 
    NAME NVARCHAR(100) UNIQUE NOT NULL 
) 

ALTER TABLE cars 
ADD CONSTRAINT UniqueConstraintName UNIQUE (name) 
相關問題