2016-02-24 2 views
0
delete takes 
    from takes as T inner join course as C on T.course_id = C.course_id 
    where title like '%database%'; 

У меня есть две таблицы (ID, курс, курс, семестр, класс) и курс (курс_ид, название, имя_отчета, кредиты). Всякий раз, когда определенное слово появляется в «title», удаляйте строку в строке, которая имеет тот же самый курс_ид. Это код, который у меня есть для этого, но он возвращает ошибку 1109. Кто-нибудь знает, почему?Код ошибки: 1109. Неизвестная таблица 'принимает' в заявлении об удалении

Код ошибки: 1109. Неизвестный стол 'принимает' в MULTI DELETE в этом коде?

+0

это 'удалить из TABLE', не' удалять независимо от TABLE'. –

+0

Можете ли вы привести меня в контексте примера? Я удалил «принимает» после удаления, и это привело к ошибке – doominabox1

ответ

0

Я считаю, что причина, вы получаете сообщение об ошибке будет то, что вы присваиваете псевдоним t таблице takes, но вы забыли изменить ваш ВЕЬЕТЕ в самом начале, так что это на самом деле жалобы не имея таблицу takes в операциях удаления (это t) в вашем запросе.

Попробуйте это:

delete t 
    from takes as t 
    inner join course as c on t.course_id = c.course_id 
    where title like '%database%'; 
+0

. Я попробовал и получил ошибку. Код ошибки: 1175. Вы используете безопасный режим обновления, и вы попытались обновить таблицу без WHERE, которая использует столбец KEY. отключите безопасный режим, переключите опцию в «Настройки» -> «Редактор SQL» и снова подключитесь. – doominabox1

 Смежные вопросы

  • Нет связанных вопросов^_^