数据库外键设计

数据库外键设计时,一般会遇到两个问题,无法创建外键,一个是联动删除。
拿班级表(t_class)和学生表(t_student)来说吧,t_class是父表,t_student是子表。t_student表的class_id关联着t_class表的id。
无法创建外键一般来说是因为子表中需要关联父表的字段,即class_id字段有t_class表的id没有的数据,或者为空("")。注意:空和null不一样,你填了东西再删除时空,你没填过东西是null。
联动删除的话,我用的是mysql,图形化管理工具是navicat,建立外键时有个“删除时”和“更新时”

外键建立
在这里插入图片描述
里面有四个选项:RESTRICT(默认):表示子表中有数据,相应父表中删除之前必须删除子表中数据;CASCADE:表示父表中删除该数据时,子表也删除相应字段下的当条数据;
CASCADE:跟RESTRICT一样;
SET NULL:表示父表中删除该数据时,子表关联字段变为null;
很容易理解,不演示了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值