日期:2014-05-19  浏览次数:20661 次

如何在创建表时,指定其中两个字段都不允许重复
create   table   student(id   int   identity(0,1),name   char(10))
要求创建id为自增且不能重复,name也不能重复,
并且还有个成绩表与stduent的id进行外键关联,
请问这条sql语句该如何写?

------解决方案--------------------
id 如果是自增的话.不会有重复.
name 如果是允许重复.那就在插入的时候,判断该值是否存在.如果存在,切换新值!
或者这么定义表字段(根据newid()不会重复,生成GUID号)
create table tb(id int identity(1,1), name varchar(100) default(newid()),a varchar(10))
insert into tb(a) select 'a '
select * from tb
------解决方案--------------------
create table student(id int identity(0,1),name char(10) unique
constraint id1 foreign key (id) references stu (abc))
?这个
------解决方案--------------------
id 如果是自增的话.不会有重复.
---------------
自增也会有重复呀,只有设成主键才不会有重复的.呵.