sql - PostgreSQL:错误:关系列不存在

标签 sql database postgresql

UPDATE master as m
SET m.husband = p.id
From per as p
where m.drid = p.drid AND p.address > 80000 AND p.address <= 154969

我有一个名为 per 的表,其中包含名为 id 的列。基本上,我想在 where 子句上将这些 ID 复制到另一个名为 master 的表中。

但是我收到一条错误消息,说关系“master”的列“m”不存在。 m 不是列。我不确定哪里出错了?

最佳答案

不如像下面这样尝试;从 SET 操作中删除表别名 m 并使其成为 SET husband = p.id

UPDATE master m
SET husband = p.id
From per p
where m.drid = p.drid 
AND p.address > 80000 
AND p.address <= 154969

(或)完全不使用表别名,如

UPDATE master 
SET husband = per.id
From per
where master.drid = per.drid 
AND per.address > 80000 
AND per.address <= 154969

参见 Postgres Documentation For More

关于sql - PostgreSQL:错误:关系列不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24939839/

相关文章:

mysql - 将 MySQL MyISAM 导入 SQL Server

PostgreSQL TIMESTAMPTZ 不适用于 SpringBoot Java 查询

sql - 用于存储自动化测试结果的 PostgreSQL 表

sql - 使用 case 语句计算非空列的数量

mysql - 查找字符串列表的最佳匹配

sql - 不同类型的公共(public)表表达式

mysql - 奇怪的 MySQL "read-only"错误

mysql - 如果两个或多个用户向 mysql 中的同一个表发送插入查询会发生什么?

django - 索引 Django ArrayField 与否?

c# - 如何通知其他用户对数据所做的更改