用phpmyadmin执行SQL,删除满足条件的内容同时删除另外一个表的相同ID 100
比如:我现在有两个表,一个表p_bt是放标题的,一个表p_nr是放内容的。我要执行删除p_bt满足hits=1的全部内容,同时还要删除掉跟p_bt同一个ID的p_nr里的...
比如:我现在有两个表,一个表p_bt是放标题的,一个表p_nr是放内容的。
我要执行删除p_bt满足hits=1的全部内容,同时还要删除掉跟p_bt同一个ID的p_nr里的数据。SQL语句如何写 展开
我要执行删除p_bt满足hits=1的全部内容,同时还要删除掉跟p_bt同一个ID的p_nr里的数据。SQL语句如何写 展开
1个回答
展开全部
您好:
您的这个需求可以通过级联删除来完成。
但必须满足以下三个条件
1、存储引擎必须使用InnoDB引擎;
2、外键必须建立索引;
3、外键绑定关系这里使用了“ ON DELETE CASCADE ” “ON UPDATE CASCADE”,意思是如果外键对应数据被删除或者更新时,将关联数据完全删除或者相应地更新。
4、更多信息请参考MySQL手册中关于InnoDB的文档;
这样您在删除某些数据时,将这些数据作为外键的其他数据也会同时删除。
如果只是SQL语句实现的话。
需要首先删除p_nr表的数据
再删除p_bt表的数据,否则会触发外键约束或产生垃圾数据。
有疑问可追问,谢谢。
您的这个需求可以通过级联删除来完成。
但必须满足以下三个条件
1、存储引擎必须使用InnoDB引擎;
2、外键必须建立索引;
3、外键绑定关系这里使用了“ ON DELETE CASCADE ” “ON UPDATE CASCADE”,意思是如果外键对应数据被删除或者更新时,将关联数据完全删除或者相应地更新。
4、更多信息请参考MySQL手册中关于InnoDB的文档;
这样您在删除某些数据时,将这些数据作为外键的其他数据也会同时删除。
如果只是SQL语句实现的话。
需要首先删除p_nr表的数据
再删除p_bt表的数据,否则会触发外键约束或产生垃圾数据。
有疑问可追问,谢谢。
追问
不懂这个能不能直接给我个SQL语句 让我执行下就可以
追答
并不能,要根据具体情况来写,您还是查查资料吧……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询