SQL数据库中由于经常多个表相关联,外键约束在数据库操作中是不能不考虑的问题。下文将教您如何设置和删除sql server外键,供您参考。
设置表mybbs中的authorid为sql server外键,参照author表的id字段,直接使用transact sql语句,过程如下:
–增加表mybbs(authorid)的sql server外键约束fk_mybbs_author,表mybbs中的authorid受表author中的主键id约束:
begin transactionalter table dbo.mybbs add constraint fk_mybbs_authorforeign key (authorid)references dbo.author([id]) on update cascade on delete cascade
–删除sql server外键约束fk_mybbs_author:–alter table dbo.mybbs drop constraint fk_mybbs_author–rollbackcommit transaction
上面on update cascade,on delete cascade两个选项,指明以后author表的id字段有delete,update操作时,mybbs表中的id也会被级联删除或更新。如果没有选中,是不可以对author表中已被mybbs表关联的id进行update或者delete操作的。
【编辑推荐】
sql server分页的两种方法比较
SQL SERVER分区视图
SQL Server2008新增的DATE数据类型
SQL中的分析函数
SQL中返回计算表达式的函数

sql server 2000怎样给表创建外键约束?
--主键约束如下:比如student表的id为例 alter table student add constraint PK_Student_Id primary key (id); --外键约束如下:比如student表id位主键,sCore为子表scoreId为外键 alter table score add consraint FK_Score_ScoreId foreign key(scoreId) references student(id); 希望对你有帮组.!
sql2005中怎么建立外鍵約束
//外键约束例子:格式:create table 表名(字段名 类型[constraint 约束名]foreign key((字段名) references 表名(字段名))注:一个表外键可以是NULL,如果有值,则必须是另一个表中存在的值。外键约束:格式:alter table 表名[WITH noCheck]add constraint 约束名 foreign key(字段名)references 表名(字段名)[on delete | on update{cascade | no action}]
SQLServer2008中在图形界面输入数据的时候如果违反约束又删不掉怎么办
方法一:先添加主键表,在添加外键表(这样就不会报错,保证了数据的完整性)方法二:可以临时禁用外键。alter Database test nocheck constraint fk_t1_t2(这样不利于保证数据的完整性)
发表评论