चूंकि यह त्रुटि के लिए शीर्ष Google परिणाम है:
ON CONFLICT DO UPDATE command cannot affect row a second time
मैं जोड़ूंगा कि यह डुप्लिकेट विरोध VALUES . के कारण हो सकता है , उदा.
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
. के रूप में वह अनुक्रमणिका है जिसका स्वयं क्वेरी में विरोध नहीं हो सकता है।
माइक्रोसर्विस और प्रोसेसिंग अनुरोधों को लागू करते समय मुझे इस त्रुटि का सामना करना पड़ा, उनमें से कुछ में डुप्लिकेट रिकॉर्ड थे।