2010-03-27 90 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) 
相关问题