【发布时间】:2015-01-26 12:08:30
【问题描述】:
我有photos 表,我试图通过使用WHERE 子句过滤数据来从另一个表中插入一个新列。这是我要执行的查询:
ALTER TABLE photos ADD COLUMN new_count BIGINT;
INSERT INTO photos (new_count)
SELECT c.cnt
FROM c
WHERE
c.created = photos.created;
但结果我得到一个错误:
Error : ERROR: invalid reference to FROM-clause entry for table "photos"
LINE 5: c.created = photos.created
如何避免错误并复制列?
我正在使用 PostgreSQL 9.4。
【问题讨论】:
-
使用更新,而不是插入。
-
您的创建时间有多精细?是否可以在同一毫秒内创建多张照片?您要小心只更新正确的行。您没有要加入的 id 列?
标签: sql postgresql select sql-update