我有一個名爲Cars的表,並且表的主鍵是'id'。我也有一個叫'名字'的字段。我想確保沒有人進入相同的名字兩次,即使它不會打破我的數據庫完整性。如何在數據庫表中執行多個唯一字段
這樣做的最好方法是什麼?
我有一個名爲Cars的表,並且表的主鍵是'id'。我也有一個叫'名字'的字段。我想確保沒有人進入相同的名字兩次,即使它不會打破我的數據庫完整性。如何在數據庫表中執行多個唯一字段
這樣做的最好方法是什麼?
create unique index cars_unique_name on cars(name)
只需在name
字段中創建一個UNIQUE
索引。在SQL它會是這樣的:
CREATE UNIQUE INDEX IX_Cars_name
ON Cars(name);
另一種可能性是創建一個unique constraint
,像這樣:
ALTER TABLE Cars
ADD CONSTRAINT Uqc_Cars_name
UNIQUE (name)
雙方將基本上做同樣的事情。
您可以在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添加獨特密鑰索引
如上所述,您可能需要唯一索引,但也可以使用唯一約束,而在某些情況下可能不需要索引。
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)