当前位置:首页 » 编程语言 » sql2005设置外键
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql2005设置外键

发布时间: 2023-06-15 22:56:39

sql server 2005中外键约束的使用

altertable[tbname外键表]
addconstraintFK_外键约束名foreignkey(外键列)
references[tbname主键表](主键列)--所引用列必须是唯一键
onupdatecascade--可选级联更新
ondeletecascade--可选级联删除

Ⅱ sql怎么设置外键(sql怎么设置外键约束)

sqlserver中建立外键约束有3中方式:enterprisemanager中,tables,designtable,设置table的properties,可以建立constraint,referencekey;enterprisemanager中,diagrams,newdiagrams,建立两个表的关系;直接用transactsql语句。

1、三个方法都需要先建立数据表。

1)运肆孝创建表author:

createtable[dbo].[author](

[id][bigint]notnull,[authorname][char](10)null,[address][char](480)null,[introction][ntext]null

)

2)创建表mybbs:

reatetable[dbo].[mybbs](

[id][bigint]identity(1,1)notnull,[authorid][bigint]notnull,[title][char](40)null,[date_of_created][datetime]null,[abstract][char](480)null,[content][ntext]null

)

2、设置表mybbs中的authorid为外键,参照author表的id字段,直接使用transactsql语句,过程如下:

1)增加表mybbs(authorid)的外键约束fk_mybbs_author,表mybbs中的authorid受表author中的主键id约束:

begintransaction

altertabledbo.mybbsaddconstraintfk_mybbs_author

foreignkey(authorid)

referencesdbo.author([id])

2)删除旁稿外键约束fk_mybbs_author:

--altertabledbo.mybbsdropconstraintfk_mybbs_author

--rollback

committransaction

上面onupdatecascade,ondeletecascade两个选项,指明以后author表的id字段有delete,update操作时,mybbs表中的id也会被级联删除或更新。如果没有选中,是不可以对author表中已被mybbs表关联的id进行update或者delete操作的。

拓展资料:

SQL的主键和外键的作用:

1、插入非空值时,如果主键表中没有这个值,则不能插入。

2、更新时,不能改为主键表中没有的值。

3、删除主键表记录时,你可以在建外键雹春时选定外键记录一起级联删除还是拒绝删除。

4、更新主键记录时,同样有级联更新和拒绝执行的选择。

简而言之,SQL的主键和外键就是起约束作用。