首页 新闻 搜索 专区 学院

SQL中怎么删除2张表中有关联的数据信息

0
悬赏园豆:10 [已关闭问题] 关闭于 2012-07-11 10:32

如题

比如说现在有表A和表B 2张表

其中,表A与表B是主从关系 A.ID=B.A_ID

现在我要删除一条数据(当然A、B中有数据),SQL语句该怎么写呢?

我的尝试:

delete from(select * from A inner join B on A.ID=B.A_ID where A.id=XXX)

值得说的是括号里面的查询是有数据的

求高手指点,在线等。

问题补充:

另外我还考虑过先删除从表的信息(对主表没影响),再删除主表的信息,只不过这样就太麻烦了。

失落の熊熊的主页 失落の熊熊 | 初学一级 | 园豆:79
提问于:2012-07-10 16:04
< >
分享
所有回答(5)
0

不行的

你可以在程序中写一个方法来实现,或者在数据库中建一个级联删除来实现

CrazyJinn | 园豆:799 (小虾三级) | 2012-07-10 16:27
0

"先删除从表的信息(对主表没影响),再删除主表的信息,只不过这样就太麻烦了。"     就这样删!!

1行受影响 | 园豆:113 (初学一级) | 2012-07-10 16:50
0

"先删除从表的信息(对主表没影响),再删除主表的信息,只不过这样就太麻烦了。"  

哪里麻烦,就是两条Delete语句

dudu | 园豆:38946 (高人七级) | 2012-07-10 17:16
0

麻烦各位来浏览和回复我问题的朋友和大大们了,我自己找到方法解决了,我发现一个比较简单的方法,在数据库的主外键关系里面设置,如下图所示:

这样在主表中删除该条信息时,所有从表中应用到该条信息的数据都会自动删除了。

失落の熊熊 | 园豆:79 (初学一级) | 2012-07-10 17:23
0

哈哈,多谢题主,我也学到了。

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-07-11 10:09

呵呵,共同学习。

支持(0) 反对(0) 失落の熊熊 | 园豆:79 (初学一级) | 2012-07-11 10:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册