我有5张桌子:
当我删除该成员时,我想从这些表中删除所有记录。所有表中都存在member_id
。我这样做每个表有5个查询。我可以在一个查询中使用LEFT JOIN
或类似的内容吗?
答案 0 :(得分:6)
是的,你可以。
DELETE m, mv, mp, mf, mpp
FROM members AS m
LEFT JOIN member_videos AS mv ON mv.member_id = m.id
LEFT JOIN member_photos AS mp ON mp.member_id = m.id
LEFT JOIN member_friends AS mf ON mf.member_id = m.id
LEFT JOIN member_pages AS mpp ON mpp.member_id = m.id
WHERE m.id = 12
答案 1 :(得分:1)
http://dev.mysql.com/doc/refman/5.0/en/delete.html
检查此页面,有一个多表DELETE的部分。
答案 2 :(得分:-2)
我认为你不能。但是,我认为您可以将查询与;并将其作为一个查询提供给mysql_query()或您正在使用的任何内容。例如:
mysql_query('DELETE * FROM members WHERE user_id = 4; DELETE * FROM member_videos WHERE user_id = 4;');
依此类推:))