DELETE FROM `table` AS `alias` ... WHERE `alias`.`column` ... 为什么语法错误?
我用 MySQL 试过这个:
I tried this with 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: This query is automatically generated and conditions are based on table aliases.
为什么会出现这个错误?
Why I get this error?
有没有办法在 where 子句中使用表别名?
Is there any way to use table aliases in where clause?
这是特定于 MySQL 的吗?
Is this MySQL specific?
推荐答案
你可以这样使用 SQL:
You can use SQL like this:
DELETE FROM ContactHostCommand
USING `contact_hostcommands_relation` AS ContactHostCommand
WHERE (ContactHostCommand.`chr_id` = 999999)
LIMIT 1
相关文章