Joe*_*dee 2 mysql sql alias sql-delete
我有以下 SQL 查询:
DELETE FROM table_b b WHERE NOT EXISTS (SELECT * FROM table_a a WHERE a.some_id = b.some_id)
Run Code Online (Sandbox Code Playgroud)
并收到以下错误:
[Err] 1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“b WHERE NOT EXISTS(SELECT * FROM table_a a WHERE a.some_id = b.some_id)”附近使用的正确语法
这似乎表明别名不能与 SQL 删除语句一起使用(?)
Sah*_*hah 11
是的,您可以在DELETE查询中使用别名。只要您在 DELETE 关键字之后使用该别名就可以了。它指定您从哪个表中删除记录。
尝试这个:
DELETE b
FROM table_b b
WHERE NOT EXISTS (SELECT * FROM table_a a WHERE a.some_id = b.some_id)
Run Code Online (Sandbox Code Playgroud)