为什么主键采用重复值

时间:2017-05-03 03:37:53

标签: sql

这里我创建了一个简单的表

create table xyz(ID int,Name varchar(50),Email Varchar(50))

然后我在xyz表上做了一些改动

ALTER TABLE xyz
ALTER column ID int Not Null
ALTER TABLE xyz
ALTER column Name varchar(50) NOT NULL

我在xyz表上添加了主键

ALTER TABLE xyz
ADD CONSTRAINT  PK-ON_DIFColumn
PRIMARY KEY (ID,Name)

这里都允许使用dublicate列

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望id成为主键,name是唯一的:

ALTER TABLE xyz ADD CONSTRAINT  PK_ON_DIFColumn PRIMARY KEY (ID);
ALTER TABLE xyz ADD CONSTRAINT UNQ_xyz_name UNIQUE (Name);

复合键(例如主键)适用于两列中的值组合,而不是单独的每列。