PSQL - UPDATE tableA off tableB where Column1 Match

时间:2021-04-26 08:36:52

标签: postgresql

我有一个带有空值的损坏列,但是我设法将数据从 csv 导入到 TempTable

MediaRecords - localpath 列为空

TempTable - localpath 列正确

更新媒体记录 SET localpath = TempTable.localpath 从临时表 WHERE recordid = TempTable.recordid;

我不断收到错误:关系“temptable”不存在 第 3 行:来自 TempTable 但是我可以浏览表格并查看数据。
我试着关注这个How to update selected rows with values from a CSV file in Postgres?,我们在这里

2 个答案:

答案 0 :(得分:0)

Hu Bucky,你能检查一下这个表的实际调用方式吗,因为我看到你用驼峰命名将它称为 TempTable 并且错误状态 temptable 全部小写。

PostgreSQL 可能区分大小写。例如,如果您执行以下操作

create table "TempTableABC" (id int);

尝试从 temptableABC 中选择将失败

defaultdb=> select * from temptableABC;
ERROR:  relation "temptableabc" does not exist
LINE 1: select * from temptableABC;
                      ^

您需要使用相同的引用语法才能使其工作

defaultdb=> select * from "TempTableABC";
 id 
----
(0 rows)

答案 1 :(得分:0)

更新媒体记录 SET localpath = "TempTable".localpath
FROM public."TempTable"
WHERE "mediarecords".recordid = "TempTable".recordid;

工作