Select 的 Postgres 更新插入
Postgres Upsert with Select
我正在尝试使用 select:
插入一条记录
INSERT INTO global_search (entity_id, entity_type, search_content)
SELECT id, 'user', "username"
FROM "user"
WHERE "id" = 1
ON CONFLICT (entity_id) DO UPDATE
SET search_content = excluded.username
但我收到以下错误:
ERROR: column excluded.username does not exist
LINE 8: SET search_content = excluded.username
这似乎符合 this question。如果我删除 ON CONFLICT 位,它工作正常。带有值列表的普通更新也可以正常工作。
我是 运行 postgresql 13.4.
那就是 EXCLUDED.search_content
。列名称是 table 中您 INSERT
.
中的目标列的名称
我正在尝试使用 select:
插入一条记录INSERT INTO global_search (entity_id, entity_type, search_content)
SELECT id, 'user', "username"
FROM "user"
WHERE "id" = 1
ON CONFLICT (entity_id) DO UPDATE
SET search_content = excluded.username
但我收到以下错误:
ERROR: column excluded.username does not exist
LINE 8: SET search_content = excluded.username
这似乎符合 this question。如果我删除 ON CONFLICT 位,它工作正常。带有值列表的普通更新也可以正常工作。
我是 运行 postgresql 13.4.
那就是 EXCLUDED.search_content
。列名称是 table 中您 INSERT
.