BUG #17845: insert into on conflict bug .
От | PG Bug reporting form |
---|---|
Тема | BUG #17845: insert into on conflict bug . |
Дата | |
Msg-id | 17845-fee889ae7e226a76@postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #17845: insert into on conflict bug .
Re: BUG #17845: insert into on conflict bug . |
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 17845 Logged by: Zhou Digoal Email address: digoal@126.com PostgreSQL version: 15.2 Operating system: macos Description: insert into on conflict bug . In the following insert statement, the row has not been updated multiple times, why is it still showing an error? ``` create table a (id int primary key, info text, ts date); insert into a select * from (values (1,'a',date '2022-01-01'),(1,'b',date '2022-01-02'),(1,'c',date '2022-01-03')) as t (id,info,ts) order by ts desc on conflict (id) do update set info=excluded.info, ts=excluded.ts where a.ts < excluded.ts ; QUERY PLAN -------------------------------------------------------------------------- Insert on a (cost=0.06..0.10 rows=0 width=0) Conflict Resolution: UPDATE Conflict Arbiter Indexes: a_pkey Conflict Filter: (a.ts < excluded.ts) -> Sort (cost=0.06..0.07 rows=3 width=40) Sort Key: "*VALUES*".column3 DESC -> Values Scan on "*VALUES*" (cost=0.00..0.04 rows=3 width=40) (7 rows) ERROR: 21000: ON CONFLICT DO UPDATE command cannot affect row a second time HINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values. LOCATION: ExecOnConflictUpdate, nodeModifyTable.c:2054 ```
В списке pgsql-bugs по дате отправления: