0

当我运行以下查询时,我正在为我的网站使用 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。实际上,所有表名都是有效的,并且此查询中涉及的所有表都存在于数据库中。你能帮我解决这个问题吗?

4

2 回答 2

2

如果您在查询开头使用稍后在查询中使用的别名(即在单词DELETE之后),那么它将正常工作。唯一的问题是它无法从您的数据库中识别该表,因为您使用别名将这些表引用到您的数据库中。因此,为了消除此错误,您必须使用在 DELETE 之后的查询中使用的别名。修正后的查询将如下所示:

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-21T06:53:58.033 回答
0

有语法错误,试试这个

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
于 2013-08-21T06:50:15.293 回答