当我运行以下查询时,我在我的网站上使用了PHP和MySQL(服务器版本: 5.5.31-0ubuntu0.12.04.2),这给了我上面的错误。我找不到这个错误的任何线索。有人能帮助我解决这个错误并建议对我现有的查询进行更改吗?供您参考,我在下面写我的查询:
DELETE
ABC.theory_sheet_set,
ABC.theory_sheet_questions
FROM
ABC.theory_sheet_set AS theory_sheet_set,
OCN.theory_sheet_questions AS theory_sheet_questions
WHERE
theory_sheet_set.theory_sheet_set_id = theory_sheet_questions.theory_sheet_set_id
AND theory_sheet_set.theory_sheet_id=".$theory_sheet_id
它给出的错误如下:
MySQL Error: 1109 (Unknown table 'theory_sheet_set' in MULTI DELETE)
Session halted.
我的数据库名是ABC。实际上,所有的表名都是有效的,涉及到这个查询的所有表都存在于数据库中。你能帮我解决这个问题吗?
发布于 2013-08-21 06:53:58
如果在查询开始时(即在单词、DELETE之后)使用稍后在查询中使用的别名,那么它将很好地工作。唯一的问题是它无法从数据库中识别表,因为您使用了别名将这些表引用到数据库中。因此,为了删除这个bug,您必须使用在删除后的查询中使用的别名。更正后的查询如下所示:
DELETE theory_sheet_set, theory_sheet_questions FROM ABC.theory_sheet_set AS theory_sheet_set, ABC.theory_sheet_questions AS theory_sheet_questions WHERE theory_sheet_set.theory_sheet_set_id=theory_sheet_questions.theory_sheet_set_id AND theory_sheet_set.theory_sheet_id="$theory_sheet_id
发布于 2013-08-21 06:50:15
有语法错误,请试一试
DELETE *
FROM
theory_sheet_set theory_sheet_set
INNER JOIN
theory_sheet_questions theory_sheet_questions ON
theory_sheet_set.theory_sheet_set_id = theory_sheet_questions.theory_sheet_set_id
WHERE theory_sheet_set.theory_sheet_id=".$theory_sheet_id
https://stackoverflow.com/questions/18350273
复制相似问题