我正在将数据库从MySQL切换到Postgres SQL.在MySQL中工作的选择查询在Postgres中有效,但类似的删除查询却没有.
我有两个数据表,列出了某些备份文件所在的位置.现有数据(ed)和新数据(nd).此语法将挑选出现有数据,这些数据可能表明文件在现有数据表中的位置,将其与相等的文件名和路径进行匹配,但没有关于它在新数据中的位置的信息:
SELECT ed.id, ed.file_name, ed.cd_name, ed.path, nd.cd_name
FROM tv_episodes AS ed
LEFT OUTER JOIN data AS nd ON
ed.file_name = nd.file_name AND
ed.path = nd.path
WHERE ed.cd_name = 'MediaLibraryDrive' AND nd.cd_name IS NULL;
Run Code Online (Sandbox Code Playgroud)
我希望使用以下语法运行删除查询:
DELETE ed
FROM tv_episodes AS ed
LEFT OUTER JOIN data AS nd ON
ed.file_name = nd.file_name AND
ed.path = nd.path
WHERE ed.cd_name = 'MediaLibraryDrive' AND nd.cd_name IS NULL;
Run Code Online (Sandbox Code Playgroud)
我试过DELETE ed,DELETE ed.*两者都渲染syntax error at or near "ed".如果我尝试没有别名的类似错误ed.如果我尝试 …