sql server怎样删除外键约束?

 我来答
小无谈旅游百科
高粉答主

2020-05-07 · 每个回答都超有意思的
知道小有建树答主
回答量:824
采纳率:98%
帮助的人:18.8万
展开全部

1.首先,我们使用SQLSERVER2008打开需要删除外键约束的表,点击左侧的“dbo”通道项,选择“setclick”。

2.问题后,我们鼠标左键单击页面上的“删除主键”选项。

3.然后左键点击“是”在弹出页面中删除。

注意事项:

可以双击键约束来添加外键约束,它有四个不同的选项:CASCADE、SETNULL、NOACTION、restricted。

1.级联:删除或更新父表中相应的行,并自动删除或更新表中匹配的行。[在删除CANSCADE和更新CANSCADE都支持InnoDB。

2.SETNULL:删除或更新父表中对应的行,并将子表中的外键列设置为空。注意,这些外键列没有设置为NOTNULL。InnoDB支持删除集空值和更新集空值。

3.无操作:InnoDB拒绝删除或更新父表。

4.限制:拒绝删除或更新父表。

大野瘦子
高粉答主

2019-10-12 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:33.8万
展开全部

用这个跟:alter table 表名称 drop constraint 外键的名称

使用如下SQL语句查询出表中外键约束名称:

1 select name  2 from  sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id 3 where f.parent_object_id=object_id('表名')

执行如下SQL语句删除即可。

1 alter table 表名 drop constraint 外键约束名

扩展资料:

注意事项

键约束可双击关系线添加外键约束,外键约束有四种不同的选项:CASCADE, SET NULL, NO ACTION, RESTRICT。

1、CASCADE : 从父表中删除或更新对应的行,同时自动的删除或更新自表中匹配的行。[ON DELETE CANSCADE和ON UPDATE CANSCADE都被InnoDB所支持。

2、SET NULL: 从父表中删除或更新对应的行,同时将子表中的外键列设为空。[注意,这些在外键列没有被设为NOT NULL时才有效。ON DELETE SET NULL和ON UPDATE SET SET NULL都被InnoDB所支持。

3、NO ACTION: InnoDB拒绝删除或者更新父表。

4、RESTRICT: 拒绝删除或者更新父表。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feixianxxx
推荐于2017-09-27 · TA获得超过2202个赞
知道大有可为答主
回答量:1273
采纳率:100%
帮助的人:1753万
展开全部
x先找出约束名字
然后删除它
我给个例子

--测试环境
--主表
create table test1(id int primary key not null,value int)
insert test1 select 1,2
go
--从表
create table test2(id int references test1(id),value int)
go
--第一步:找出test2表上的外键约束名字
--2000
exec sp_helpconstraint 'test2'
--可以在constraint_name 属性中找到外键约束名字
--2005
select name
from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id
where f.parent_object_id=object_id('test2')
/*
name
---------------------------------
FK__test2__id__08EA5793*/

--第二步:删除外键约束
alter table test2 drop constraint FK__test2__id__08EA5793

--第三步:检查表上是否还有外键约束
--只要使用第一步里面的查找语句即可
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yjx_xiaoxin
2010-05-03 · TA获得超过6702个赞
知道大有可为答主
回答量:4618
采纳率:50%
帮助的人:2498万
展开全部
语句:
alter table 表名称 drop constraint 外键的名称
也可以在sql server的管理工具中,找到表,找到"键"中的相应外键,右击删除
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LOVE思宜
2010-05-03 · 超过12用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:41.2万
展开全部
我个人觉得最好不要设外键,这东西比较麻烦,若表之间有关联之后做联合查询就是了……那样更灵活一些

删除外键约束的方法LS说的是对的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式