数据库——删除表中的级联的含义

通过以下这个例子来说明我对数据库当中删除表的级联的含义的理解。

现在有一张表,名字叫PTYPES
在这里插入图片描述
使用如下语句删除这张表中的数据:

-- 表示删除这张表当中的数据,但是不删除这张表
	DELETE PTYPES

但是出现了如下错误:

在这里插入图片描述
原因如下:
要删除的这张表PTYPES的主键PTNAME,是PRODUCTINFO的外键
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决方法一:
使用级联,去除两者之间的外键关系。
由于PTYPES会影响到PRODUCTINFO,因此在设计这张表的时候,在删除规则当中选择级联。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
此时就可以删除成功了。
在这里插入图片描述
那么这里的级联是什么意思呢?
我们在查看两张表:
在这里插入图片描述
由此说明删除表当中级联的含义:
如果删除了一张表,那么另外一张和它有外键关系的表当中存在外键关系的数据也会被它删除。

在这里插入图片描述
这里的删除规则当中如果设置为级联,是最严格的,表示如果删除数据,那么和它相关联的主键,父类的数据也会被删除。如果选择设置Null,则只是把与它相关联的数据设置为Null值,而不是直接删除。

猜你喜欢

转载自blog.csdn.net/wxfighting/article/details/123880785