我正在尝试这个查询,但是不起作用:这个想法是将数据从一个表复制到另一个表。
UPDATE A
SET A.name_en = B.name
FROM country_name as A
INNER JOIN country as B
ON A.id = B.id
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Error in query: ERROR: relation "a" does not exist
LINE 1: UPDATE A
Run Code Online (Sandbox Code Playgroud)
为什么?
您根本不需要额外的连接。你正在做一个,inner join所以你可以用fromandwhere子句来代替:
UPDATE country_name
SET name_en = B.name
FROM country AS B
WHERE counry_name.id = B.id;
Run Code Online (Sandbox Code Playgroud)
唯一需要做的事情UPDATE sometable ... FROM sometable a ... WHERE sometable.id = a.id是当您需要对正在更新的表进行外连接时。
不幸的是,PostgreSQL 的UPDATE ... FROM ...特性不允许您使用显式连接语法。
| 归档时间: |
|
| 查看次数: |
3628 次 |
| 最近记录: |