我有一个名为Cars的表,表的主键是'id'。我还有一个名为'name'的字段。我想确保没有人输入相同的名字两次,即使它不会破坏我的数据库完整性。
这样做的最佳方式是什么?
答案 0 :(得分:2)
create unique index cars_unique_name on cars(name)
答案 1 :(得分:1)
只需在UNIQUE
字段上创建name
索引即可。在SQL中它将是这样的:
CREATE UNIQUE INDEX IX_Cars_name
ON Cars(name);
另一种可能性是创建unique constraint
,如下所示:
ALTER TABLE Cars
ADD CONSTRAINT Uqc_Cars_name
UNIQUE (name)
两者都会做同样的事情。
答案 2 :(得分:0)
您可以在CREATE TABLE命令或ALTER TABLE命令中指定唯一索引约束。
就像
创造桌车( id INT NOT NOT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100)UNIQUE KEY );
或者只是创建上表
创造桌车( id INT NOT NOT AUTO_INCREMENT PRIMARY KEY, 名称VARCHAR(100) ); 然后使用alter table
添加unqiue密钥索引答案 3 :(得分: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)