SQL UNIQUE 为多个列的约束问题
/*建表*/createtableperson_3(IDintnull,namevarchar(255),addressvarchar(255),)/*建立约束*/alt...
/*建表*/
create table person_3
(
ID int null,
name varchar(255),
address varchar(255),
)
/*建立约束*/
alter table person_3
add constraint U_person_3 unique (ID,name)
/添加内容 1 JACK A /
insert into person_3 values (1,'JACK','A')
/*添加ADDRESS内容 A 按照道理应该现实命令执行 实际执行成功*/
insert into person_3 (address) values('A')
/*添加ID name 内容 1 rio 按照道理应该显示执行失败 因为之前已经有了1 但是这次显示的是执行成功*/
insert into person_3 (ID,name) values(1,'rio')
程序如上
我的疑问就是 为什么我的 insert into person_3 (ID,name) values(1,'rio') 成功了
而且之后我用了select * from person_3 确实在ID处显示了两个1
我之前的键不是应该键立好了吗
(PS:我尝试过insert into person_3 (ID,name) values(1,'JACK') ,如果这样插入的话显示的是错误) 展开
create table person_3
(
ID int null,
name varchar(255),
address varchar(255),
)
/*建立约束*/
alter table person_3
add constraint U_person_3 unique (ID,name)
/添加内容 1 JACK A /
insert into person_3 values (1,'JACK','A')
/*添加ADDRESS内容 A 按照道理应该现实命令执行 实际执行成功*/
insert into person_3 (address) values('A')
/*添加ID name 内容 1 rio 按照道理应该显示执行失败 因为之前已经有了1 但是这次显示的是执行成功*/
insert into person_3 (ID,name) values(1,'rio')
程序如上
我的疑问就是 为什么我的 insert into person_3 (ID,name) values(1,'rio') 成功了
而且之后我用了select * from person_3 确实在ID处显示了两个1
我之前的键不是应该键立好了吗
(PS:我尝试过insert into person_3 (ID,name) values(1,'JACK') ,如果这样插入的话显示的是错误) 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询