00:03
好,咱们接下来说下一个问题。当把这个东西啊创建之后啊,再来看啊。外键之后的删除。我写的非常简单哈。首先是删除关联数据。啊,啥意思嘞,看着啊。刚才咱们这个是不是也这个咱就不说了啊。这个咱就不说了,以上的这五条数据分别插入了两张表中吧。接下来看啊,我现在我要删除了。删除啥嘞,我要删除用户。我要删除一个用户。删除哪个用户呢?我要把一号用户张三干掉。Delete from user,八条件是ID等于八。不是一啊。就是把菜混混淆了哈。用户表中是不是张三啊?
01:01
好,一直行。他肯定报错吗?他说啥呀。你找到此记录是吧,啥意思嘞,就说你不能干掉我,我有孩子是吧。哎,他的海在哪儿呢?在哪了?是不是在这儿呢?一号用户,一号用户所关联是不是有两条数据啊。所以来一句话。在。删除。OK。再强调一遍。USER8是主表还是从表?还表。主表是吧,所以说在,诶不是这个啊。在删除主表中数据时。怎么办?肯定删不了是吧,因为有它有关联条件关联关联的数据是吧。需要先删除。从表中。
02:00
参考的数据。先删除从表中参考的数据。或。制空。啥意思嘞,看着我先删除主表,他不让删,说我有子记录哈,好嘞,那我就先删。虫表的order。条件是什么?什么的。哎,是user ID,就是说user ID等于一。啥意思啊,我要把张三相关的所有订单先删掉,再删除,张三这个人是这意思啊。所以应该是先。删除。张三的所有订单信息。
03:05
再删除。哎,我去。再删除张三这个人。试试吧,先把它。干掉。再来。是不是就能删了?所以。建立外键之后再删除数据的时候,一定要参考我这段。OK。好,那么刚才我在这里边写了,PPT里边也写了哈,在删除主表数据时,需要先将从表中参考的数据删除或滞空,那这个滞空又是什么意思呢?来,我把张三这个数据啊,再还原一下啊,先填这个人再填。表。圈行了吧,又回来了哈。
04:03
刚才是删除,接下来说滞空的问题,就是说。Delete from user8。ID等于一一执行,还是这个吧,说你不能删除张三,因为张三有订单。咋办呢?Delete。然后应该先删除从表,那么跟上边一样了吗?哎,接下来啊,是制空的操作。这么来?修改。哎,修改修改什么呢?八。设置,设置UCID等于空。哎,条件是。User ID等于一。这啥意思,看这将一号用户就现在是奥八啊,是这个啊。将一号用户,一号用户对吧,把他的ID改为空,就这玩意儿改为空。
05:05
这样不形象,来,咱们再看这看这边儿。八是吧,ORDER8。呃,这了。现在啊,是不是这两个表示张三啊。对吧,来看这儿啊,直接把它一更新。这边一看。明白啥意思了吗?就把它这个关联ID的值置为空,然后你再看我能不能删除这个人了呢,一直行没问题了吧。好,来看一眼。有吧?是不是没张三了?然而AL8张三,原来张三的这两个数据是不是还在啊?还在?好,那么你觉得啊。是删除好还是滞空好?滞空,为什么滞空好呢?其实啊,我告诉大家啊,这里边儿虽然说删除哈,一直在说删除的事儿啊。
06:01
在真实的项目中啊,根本没有删除这个动作。根本没有删除。根本没有删除啊,就比如说你想删除这个人啊,他也不是删除,他只是把它改为一个状态。哎,我随便搞一个列,啥意思呢?简单给大家说一说啊。也非常简单啊,这不就是张三李四这么个用户表吗?我后边搞一个列,假设我就叫X列。往里边添加的时候啊,我都叫一。都叫一,然后啊三号,比如说叫什么东西也是一号。然后接下来呢,我想把三号用户删掉,其实的动作只不过是把三号的用户这个列啊改为了零。而显示的时候只显示一的用户。明白啥意思吗?啊,只显示一,也就是说三号用户在表中仍然存在,仍然存在啊。
07:00
所以说咱们这个就是操作网站或者大型的系统的时候,也是这样,找历史痕迹它是能找到的。如果你删了,那还能找着吗?找不着了是吧。哎,所以呢,咱们不要删除这种操作,咱们自己玩的时候测一测得了。真正用法的时候用的是制空。用的是制空啊,它只不过把关联数据进行了一个制空。好吧。最后。这就是咱们在。这个删除关联数据的时候,删除或指控的意思。哎,删除或质控的意思。好,再看在下一段叫删除关联表,啥意思呢?这个也是啊。删除关联表的意思就是说,比如说我想把user表干掉。删除表了。那就是jump。
08:02
Hippo。User发。一直行。表中被引用了是吧,它这写上被外键引用。啥意思了,其实这个八啊,这个用户这个吧,被别人牵制住了是吧。我应该把这个东西干掉,把我的绊脚石干掉,我才能把它干掉。所以一定要先。Order吧。先,哎哟,我去。先干掉他。才能干掉他。好了吧。这两个干掉了。所以是这个。再读一遍。删除关联表时,在删除主表时先删从表。或取消表格的关联关系,刚才咱们采用的是不是删除从表再删主表啊?就是这个意思。
09:00
其实还有另外一个操作。还有另外一个操作。先把这句话删掉。搞过来这是咱们的是刚才这个操作哈。还有一个。一样的。删除主表时。可以先取消外键。什么输入法?取消外键。好,来看看这个怎么做的啊。来吧。表干没了,重新来一遍吧,电表。见表。好,是不是又全回来了。再来。Our job user8。不让是吧,不让好,那我应该怎么做呢?
10:00
咱们应该这么做啊,这么做其实非常简单,就在删除表的后边加一个呃两个单词,取消外键的单词。Kiss CAS。然后约束C。就加上这两个关键字。好,这样啊,咱们先观察一下数据。有事吧。张三李四没毛病,凹了吧,三条数据没毛病对吧。好了,执行这句代码。走,你。不报错吧?好,回头观察数据。有事吧。不存在了。呀,表没了对吧,然后再看ala。在不在?数据还在是吧,数据还在。什么U8呢,没了。这种操作呢。就是他的。在删除主表的时候取消外键。
11:01
取消外界那这种方式。和上面这种方式谁好?肯定下边这个啊,因为你想啊,上面一删除的时候是不是牵扯到很多呀。有点类似于古代的刑罚,叫连坐是吧?对吧,一人犯罪,全家族都得死。是不是这意思啊,下边这个呢。你给你从什么宗室中剔除出来,就宰了你就行了,你们家族呢,得以得以这个这个存活,是不是这意思?所以呢,其实在多表操作的时候,下边这种是主要的操作方式。OK吧,这个好。这个不会删,不会牵扯到别的东西是吧。这就是这两个操作啊。
我来说两句