我正在尝试这个查询,但是没有用: 这个想法是将数据从一个表复制到另一个表。
UPDATE A
SET A.name_en = B.name
FROM country_name as A
INNER JOIN country as B
ON A.id = B.id
我收到这个错误:
Error in query: ERROR: relation "a" does not exist
LINE 1: UPDATE A
为什么?
最佳答案
你根本不需要额外的连接。你正在做一个 inner join
所以你可以用 from
和 where
子句代替:
UPDATE country_name
SET name_en = B.name
FROM country AS B
WHERE counry_name.id = B.id;
唯一需要执行 UPDATE sometable ... FROM sometable a ... WHERE sometable.id = a.id
技巧的时候是当您需要对表进行外部连接时正在更新。
不幸的是,PostgreSQL 的 UPDATE ... FROM ...
功能不允许您使用显式连接语法。
关于sql - 更新表 - 关系不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26281445/