首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

- 主键 外键 约束 声明方式的有关问题

2012-09-19 
求助-- 主键 外键 约束 声明方式的问题主键 外键 约束 有两种声明方式如下:SQL code --方式一create table

求助-- 主键 外键 约束 声明方式的问题
主键 外键 约束 有两种声明方式如下:

SQL code
 --方式一create table test(column1 int identity(1,1) primary key,column2 bit default(0),column3 char(2) not null check(column3 in('男','女')),column4 tinyint check(column4>10),column5 int not null  references foreigntable(column5),)--方式二create table test(column1 int identity(1,1),column2 bit default(0),column3 char(2) not null,column4 tinyint ,column5 int not null,constraint PK_test primary key(column1),constraint FK_test_foreigntable foreign key(column5) references foreigntable(column5),constraint column3_Check check(column3 in('男','女')),constraint column4_Check check(column4>10),)--大家帮忙看一下,那种方式好,我觉得方式二好,但是我不知道原因






[解决办法]
SQL code
各有各的好处,1,简单方便。2,方便管理,比如你现在要删除一个约束的话,1这种方式你必须要去找他自动生成的很长一串的constraint Name,二这种方式的话就很容易找到了;
[解决办法]
第一个不推荐,不好管理。删除修改什么的都不方便,而且如果通过脚本生成数据库的话,在不同的机器上生成的默认约束名字还不一样。
[解决办法]
第一种是比较简单的方式,不命名的方式,不用指定外键约束的名称,而是有系统自动命名,而第二种方式是命名方式,需要显示的指定外键约束的名称,2中方式没有什么本质的区别

热点排行