如题
比如说现在有表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)
值得说的是括号里面的查询是有数据的
求高手指点,在线等。
另外我还考虑过先删除从表的信息(对主表没影响),再删除主表的信息,只不过这样就太麻烦了。
不行的
你可以在程序中写一个方法来实现,或者在数据库中建一个级联删除来实现
"先删除从表的信息(对主表没影响),再删除主表的信息,只不过这样就太麻烦了。" 就这样删!!
"先删除从表的信息(对主表没影响),再删除主表的信息,只不过这样就太麻烦了。"
哪里麻烦,就是两条Delete语句
麻烦各位来浏览和回复我问题的朋友和大大们了,我自己找到方法解决了,我发现一个比较简单的方法,在数据库的主外键关系里面设置,如下图所示:
这样在主表中删除该条信息时,所有从表中应用到该条信息的数据都会自动删除了。
哈哈,多谢题主,我也学到了。
呵呵,共同学习。