Тъй като това е водещият резултат на Google за грешка:
ON CONFLICT DO UPDATE command cannot affect row a second time
Ще добавя, че може да е причинено от дублирани конфликтни стойности , напр.
INSERT INTO distributors (did, dname)
VALUES
(5, 'Gizmo Transglobal'),
(5, 'Associated Computing, Inc')
ON CONFLICT (did) DO UPDATE SET dname = EXCLUDED.dname;
В този случай се опитваме да вмъкнем две стойности с dim
зададен на 5
. Като dim
е индексът, той не може да има конфликт в самата заявка.
Срещнах тази грешка при внедряване на микроуслуга и обработка на заявки, като някои от тях имат дублиращи се записи.