1.在SQL Server 2000,说明主键约束和唯一约束的区别?2.对学生信息表来说,能否将姓名字段设置为主键,为什么
发布网友
发布时间:2022-04-11 15:24
我来回答
共2个回答
懂视网
时间:2022-04-11 19:45
首先说明一点,主键又称主键约束,它也是一种约束,看下它和唯一约束的创建语法:
alter table Person add constraint PK_Id primary key (Id)
alter table Person add constraint UQ_Name unique (Name)
主键和唯一约束都要求字段值唯一,除此外,它们还有如下区别:
·同一张表只能有一个主键,但能有多个唯一约束;
·主键字段值不能为NULL,唯一约束字段值可以为NULL;
·主键字段可以做为其他表的外键,唯一约束字段不可以做为其他表的外键;
·SQLServer默认为主键字段创建聚集索引,为唯一约束字段创建非聚集索引;
主键,唯一,但是不能为空;唯一约束,唯一,但是可以为空
您可能感兴趣的文章:
Oracle数据完整性和锁机制简析SQLSERVER实现更改表名,更改列名,更改约束代码如何获取SqlServer2005表结构(字段,主键,外键,递增,描述)深入Mysql,SqlServer,Oracle主键自动增长的设置详解SQLSERVER聚集索引和主键(Primary Key)的误区认识sqlserver主键设计的注意点sqlserver数据库主键的生成方式小结(sqlserver,mysql)小议sqlserver数据库主键选取策略sqlserver 因为选定的用户拥有对象,所以无法除去该用户的解决方法SQLServer2005 批量查询自定义对象脚本SQLServer导出sql文件/表架构和数据操作步骤详解SQL Server数据库架构和对象、定义数据完整性
热心网友
时间:2022-04-11 16:53
1、主键约束:有一列或列的组合,其值能唯一的标识表中的每一行。
唯一约束:不允许数据库表在指定列上具有相同的值,但允许有空值。
区别:一个表可以定义多个唯一约束,只能定义一个主键约束;空值得列上可以定义唯一约束,不能定义主键约束。
2、不能,因为姓名字段可能会重复,而主键约束是不允许有重复字段出现的,所以应该将不重复的字段设为主键.
3、当你的表有主键了同时还想让某些列的数据不重复,或不让插入、修改后的数据和原始数据相同就用唯一约束。