我有两个表a,b
a:字段
id name age
1 张三 18
2 李四 22
b:字段
id favourite
1 游戏
2 象棋
其中b中的1 2分别对应a中的1 2也就是张三李四
现在想如果删除了a中的张三那条记录
b中与张三对应的那条记录如何自动消失,表b该怎么创建,是不是外键技术
谢谢~
默认建表关系时:
如果把A表的id列设成主键,B表id列与A表id是主外键关系的话,那么你无法直接删除A表的记录,必须先删除与A表id列有关联的B表中的数据后,才能删除A表数据,这是主外键约束。
特殊情况时:
可以调整主外键的删除规则,设置 删除规则 为:Cascade
这样就可以进行级联删除了,删除主表数据时,外表数据同时被删掉。
PS:这种设置很危险,一般情况下为了保证数据的完整性,都避免使用这样的表设计。