Aangezien dit het beste Google-resultaat voor fouten is:
ON CONFLICT DO UPDATE command cannot affect row a second time
Ik zal hieraan toevoegen dat het kan worden veroorzaakt door een duplicaat conflict VALUES , bijv.
INSERT INTO distributors (did, dname)
VALUES
(5, 'Gizmo Transglobal'),
(5, 'Associated Computing, Inc')
ON CONFLICT (did) DO UPDATE SET dname = EXCLUDED.dname;
In dit geval proberen we twee waarden in te voegen met dim
ingesteld op 5
. Als dim
is de index die geen conflict kan hebben in de zoekopdracht zelf.
Ik ben deze fout tegengekomen bij het implementeren van microservice- en verwerkingsverzoeken, waarvan sommige dubbele records bevatten.