Postgres ने INSERT OR REPLACE
. के समकक्ष लागू नहीं किया है . ON CONFLICT
. से डॉक्स (जोर मेरा):
यह या तो कुछ न करें या एक अद्यतन करें खंड हो सकता है जो सटीक विवरण निर्दिष्ट करता है विरोध की स्थिति में की जाने वाली अद्यतन कार्रवाई के बारे में।
हालांकि यह आपको प्रतिस्थापन के लिए आशुलिपि नहीं देता, ON CONFLICT DO UPDATE
अधिक सामान्य रूप से लागू होता है, क्योंकि यह आपको पहले से मौजूद डेटा के आधार पर नए मान सेट करने देता है। उदाहरण के लिए:
INSERT INTO users (id, level)
VALUES (1, 0)
ON CONFLICT (id) DO UPDATE
SET level = users.level + 1;