Вопрос:
Я использую 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. Фактически все имена таблиц действительны, и все таблицы, участвующие в этом запросе, присутствуют там в базе данных. Не могли бы вы помочь мне в решении этой проблемы?
Ответ №1
Если вы используете имена псевдонимов, используемые позже в запросе в начале запроса (т.е. сразу после слова DELETE), он будет работать точно. Единственная проблема заключалась в том, что он не смог определить таблицу из вашей базы данных, поскольку вы использовали имена псевдонимов, чтобы ссылаться на эти таблицы в своей базе данных. Поэтому, чтобы удалить эту ошибку, вы должны использовать имя псевдонима s, которое вы использовали в запросе после 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 Ответ №2
есть синтаксическая ошибка, попробуйте это
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