我有以下 SQL 查询:
DELETE FROM table_b b WHERE NOT EXISTS (SELECT * FROM table_a a WHERE a.some_id = b.some_id)
出现以下错误:
[Err] 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 'b WHERE NOT EXISTS(SELECT * FROM table_a a WHERE a.some_id = b.some_id)' at line 1
这似乎表明别名不能与 SQL 删除语句一起使用(?)
最佳答案
是的,您可以在DELETE 查询中使用别名。只要你在 DELETE 关键字之后使用那个别名就可以了。它指定从哪个表中删除记录。
试试这个:
DELETE b
FROM table_b b
WHERE NOT EXISTS (SELECT * FROM table_a a WHERE a.some_id = b.some_id)
关于mysql - 可以在 SQL 删除查询中使用别名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34353799/