您的位置:首页技术文章
文章详情页

mysql如何将多个表中的ID只为某值的整行数据删掉?

浏览:72日期:2022-06-11 09:15:24

问题描述

比如我现在有四张表,每个表的列都不一样,但是都有一个ID列,且有的表中ID不作为主键,我现在需要根据ID值在四张表中把ID值为12的行的数据都删掉,该怎么写DELETE语句?请大神指教mysql如何将多个表中的ID只为某值的整行数据删掉?

问题解答

回答1:

delete t1,t2,t3,t4 from t1 left join t2 on t1.id=t2.id left join t3 on t1.id=t3.id left join t4 on t1.id=t4.id where t1.id=12回答2:

你的问题直接四条sql执行就行了 你并不能保证每个表都有你要删的记录 怎么join都可能有问题

回答3:

START TRANSACTION; DELETE FROM t1 WHERE id=12; DELETE FROM t2 WHERE id=12; DELETE FROM t3 WHERE id=12; DELETE FROM t4 WHERE id=12;COMMIT;# ROLLBACK; # 如果commit有错,请回滚.

相关文章: