sql 添加级联删除和级联更新(详细版) server CASCADE

我佛了 百度了这么久没见几个说清楚的

1.什么是级联删除和级联更新

首先 解释主键和外键
打个比方
创建两个表 一个叫法术表(冰枪术 火球术) 一个叫法术效果表 ( 冻结 爆炸)
表一

ID法术名称
1冰枪术
2火球术

表二

ID效果名称法术ID
1冻结1
2爆炸2

将表1的ID关联表2的法术ID

表一ID是主键 表二法术ID为外键 这样仅仅使用一个法术ID就可以代表冰枪术和火球术了

(以及后面一连串可能出现的复杂数据)

这个时候 假如要删除表一火球术那一行 只在法术表内删除是不行的 系统会报错

正常的程序是先删除法术Id那一行 也就是外键 再删除 主键

这个时候就需要用到级联删除

级联删除 就是只需要删除表1火球术那一行 表2爆炸那一行的数据也会一并删除

下面是sql代码
如果有两个表了 要添加级联删除和级联更新功能 就需要使用 sql代码进行添加

直接使用的话 需要因地制宜的改几个地方

外键表:相当法术效果表
外键:相当于表二 法术ID
主键表:法术表
主键:相当于 表一ID
外键关系的名称:可以自定义 你自己看得懂就行 如:FK_Fire_CASCADE
(只需要改中文的地方)


ALTER TABLE [dbo].[外键表] ADD
        CONSTRAINT [外键关系的名称 ] FOREIGN KEY
        (
                [外键]
        ) REFERENCES [dbo].[主键表] (
                [主键表名称]
        ) ON UPDATE CASCADE ON DELETE CASCADE
  

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值