Как решить эту ошибку «Ошибка MySQL: 1109 (Неизвестная таблица» имя_таблицы «в MULTI DELETE)??

Вопрос: Я использую PHP и MySQL (версия сервера: 5.5.31-0ubuntu0.12.04.2) для моего сайта, когда я запускаю следующий запрос, который дает мне вышеуказанную ошибку. Я не мог понять эту ошибку. Может ли кто-нибудь помочь мне в разрешении этой ошибки и предложить изменения, если они есть, в моем существующем запросе? Для вашей справки я пишу свой запрос ниже:

Вопрос:

Я использую 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

Оцените статью
Добавить комментарий