我的查询是:
DELETE p,p2,r
FROM Profiles p
LEFT JOIN Pics p2 ON p.ID=p2.ProfileID
LEFT JOIN Food f ON p.ID=f.ProfileID
WHERE p.ID = 46
此查询删除用户的个人资料,Pics表中的所有图片以及食物表中所有匹配的ProfileID。 哪个会离开我 配置文件表中的ID 47,48 Pics表中的ID 66,67 食物表中的ID 30,31,32,34
但我希望它还删除Pics.ID ProfileID为46的所有行,因此Pics.ID为64和65.这两个ID将从Food表中删除。这将是Food.ID 30和32所以只留下: 食物表中的ID 31,34
个人资料表:
ID Gender
46 male
47 female
48 female
图片表:
ID ProfileID Position
64 46 1
65 46 2
66 47 1
67 48 1
食物表:
ID PicID ProfileID
30 64 47
31 66 48
32 65 47
33 67 46
34 67 47
答案 0 :(得分:3)
我认为这就是你想要的
DELETE p,p2,f,f2
FROM Profiles p
LEFT JOIN Pics p2 ON p.ID=p2.ProfileID
LEFT JOIN Food f ON p.ID=f.ProfileID
LEFT JOIN Food f2 ON p2.ID=f2.PicID
WHERE p.ID = 46