MySql - 删除多个表中的相同字段



我需要从stu_id相同的两个表中删除学生元素。我点击了这个链接

DELETE s_ezber, s_yem_tem 
FROM s_ezber 
INNER JOIN s_yem_tem 
ON s_ezber.stu_id = s_yem_tem.stu_id 
WHERE s_ezber.stu_id =1901 (s_yem_tem.stu_id )

但是,这无法正常工作。这里的问题是两个表都需要包含相同的学生 ID,如果其中一个不包含,那么这将失败。我希望它做的是删除该行(如果它存在于一个或两个表中(。如何仅用一个查询来处理它?

delete s_ezber, s_yem_tem
from (select 1901 as stu_id) sub
left join s_ezber using(stu_id)
left join s_yem_tem using(stu_id);

演示:http://rextester.com/ESX91655

这应该与事务中的两个查询具有相同的效果:

start transaction;
delete s_ezber   where stu_id = 1901;
delete s_yem_tem where stu_id = 1901;
commit;

相关内容

  • 没有找到相关文章

最新更新