mysql外键问题

我有两个表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:这种设置很危险,一般情况下为了保证数据的完整性,都避免使用这样的表设计。

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-13
楼上说了外键的约束 , 首先告诉你 这个不是外键技术,外键不能实现这个功能, 建议在a表中建一个触发器之类的 当a中删除数据的时候自动删除b中相应数据,另外不要在两张表上建立外键关系
第2个回答  2013-06-13
public  void  a (){
   System.out.println("wo shi yi xue sheng !");
}

相似回答