【sql server修改已经创建表的外键属性】

文章介绍了三种在SQLServer中修改表的外键约束的方法:1)使用SSMS数据库管理工具,通过编写和运行脚本来添加或修改ONDELETECASCADEONUPDATECASCADE属性;2)通过SQL语言直接删除并新建外键约束;3)复制表数据,重新创建带有正确约束的新表。这些步骤可以帮助确保数据库的完整性和一致性。
摘要由CSDN通过智能技术生成

1.使用SSMS数据库管理工具修改FOREIGN KEY约束

1.点击所要改变的表的左边的+号,再点击键旁边的+号,展开如图:
在这里插入图片描述
2.右键要修改的外键–点击编写键脚本为(S)–点击DROP和CREATE到(R)–点击新查询编辑器窗口,弹出如图:
在这里插入图片描述
3.完成上述步骤后会有新编辑器窗口弹出,在如图下位置加入语句ON DELETE CASCADE ON UPDATE CASCADE,全选,点击运行即可,运行结束后叉掉时可不保存该编辑器内容。
在这里插入图片描述

4.完成上述步骤后,再进行删除和更改操作就不会报错啦!
在这里插入图片描述

2.使用sql语言修改FOREIGN KEY 约束

1.删除外键

ALTER TABLE SC/*表名*/ DROP CONSTRAINT FK__SC__Sno__440B1D61/*外键名*/;

选中该代码块并运行即可,不知道外键名的可以在左侧查看:
在这里插入图片描述
2.新建外键
注意建立外键时,参照表的参照列与被参照表的被参照列数据类型要相同;

use TEST1 /*数据库名称*/
go
alter table SC/*要增加外键的表*/
add constraint FK_SC_SNO   /*约束的名称*/
foreign key (Sno)/*要添加外键约束的列*/ references S(Sno) on delete cascade on update cascade/*指定参照表的参照列  *//*加上了on update cascade on delete cascade 语句*/
go

此时,再进行删除和更改操作,就不会再报错啦!
在这里插入图片描述

3.复制表数据,重新建表完善FOREIGN KEY约束

该方法比较冗杂且存在一定的弊端,但是也可采取,对基本的操作不构成影响。
1.创建一个与该表结构相同的表,但是增加了on delete cascade on update cascade 语句;例如:

在这里插入图片描述

2.将原表数据复制到新表中

INSERT INTO 
SSC/*新表名称*/
SELECT *
FROM SC;/*原表名称*//*复制表数据,假设两表结构相同*/

3.删除原表
直接在左侧右键删除即可;
4.将新表名改为原表名

EXEC sp_rename 'SSC','SC'/*修改表名,将SSC改为SC*/

会弹出此消息,故一般不建议改表名
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值