MySQL删除关联表的数据

来源:互联网 发布:淘宝网正规催情药 编辑:程序博客网 时间:2024/05/17 02:15

删除班级以及班级下的所有学生
由于grade表和student表之间具有关联关系,参照列被参照的值,是不能被删除的,因此,在删除软件一班时,一定要先删除班级的所有学生,然后,再删除班级

在student表中,删除软件一班的所有学生

这里写图片描述

在grade表中,将软件一班删除

这里写图片描述

如果直接删除班级,会报错

这里写图片描述

因此,在两个具有关联关系的表中,删除数据时,一定要先删除从表中的数据,然后,再删除主表中的数据,否则会报错

注意,要删除软件一班,并不需要删除软件一班的学生,可以将表student中软件一班学生的gid改为其他的值,只要,主表中该列没有被从表参照就可以删除,在建表时,gid字段有非空约束