我有几个表链接如下:
当用户想要删除房屋时,我必须删除具有特定门牌号的贷款条目。
所以从房屋ID我获得道路ID,之后我可以获得与该道路相关的贷款,并删除所有带盖子和房屋号码的贷款条目。
我为此创建了带有子选择的查询,但我想连接它可能会快得多。 我住在这里。我甚至不确定我做了我想要的,我收到一条mysql错误信息:
“MULTI DELETE中的未知表格'le'”。
我尝试了一些变化,但无法弄明白。
我的查询:
DELETE le
FROM `roads` AS r
LEFT JOIN `loans` AS l ON l.rid = r.id
LEFT JOIN `loan-entries` AS le ON le.lid = l.id
LEFT JOIN `houses` AS h ON h.rid = r.id
WHERE h.id = '" . $_POST['id'] . "'
AND le.housenumber = h.housenumber
答案 0 :(得分:1)
我知道回答这个问题有点晚了,但问题是你只能删除最左边的表格。 为此,您需要重新组织您的加入。当你使用左连接从'le'表中删除时,你真的只需要来自'r'和'l'表的那些通过内连接连接的值,所以从'le'表开始然后是内连接'r'和' l'然后继续'h'。