Вопрос по sql, mysql – УДАЛИТЬ ИЗ `table` КАК` alias`… ГДЕ `alias``column`… почему синтаксическая ошибка?

29

Я пробовал это с MySQL:

DELETE FROM `contact_hostcommands_relation` AS `ContactHostCommand` WHERE (`ContactHostCommand`.`chr_id` = 999999) LIMIT 1

И я получаю это:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (`ContactHostCommand`.`chr_id` = 999999) LIMIT 1' at line 1

Note: Этот запрос генерируется автоматически, а условия основаны на псевдонимах таблиц.

Почему я получаю эту ошибку?

Есть ли способ использовать псевдонимы таблиц в предложении where?

Это специфично для MySQL?

Попробуйте то же самое безAS, Просто удали это. sp00m
@ sp00m Я пытался, но не работает. В любом случае, спасибо за идею. Aalex Gabi

Ваш Ответ

3   ответа
31

DELETE FROM ContactHostCommand 
USING `contact_hostcommands_relation` AS ContactHostCommand 
WHERE (ContactHostCommand.`chr_id` = 999999) 
LIMIT 1
Error: User Rate Limit Exceeded Aalex Gabi
Error: User Rate Limit Exceededcontact_hostcommands_relationError: User Rate Limit Exceeded
delete x from t as xError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded#1109 Unknown table 'category' in MULTI DELETEError: User Rate Limit Exceededdelete from category using category as c where c.id = 'a'.
Error: User Rate Limit Exceeded
32

что @Matus и @CeesTimmerman сказали о MSSQL, работает и в MySQL 5.1.73:

delete <alias> from <table> <alias> where <alias>.<field>...
5

Вы не можете использоватьAS вDELETE предложение с MySQL:

DELETE FROM `contact_hostcommands_relation` WHERE (`chr_id` = 999999) LIMIT 1 
Error: User Rate Limit Exceeded Aalex Gabi
Error: User Rate Limit Exceeded

Похожие вопросы