PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

पोस्टग्रेएसक्यूएल इन्सर्ट ऑन कॉन्फ्लिक्ट अपडेट (अप्सर्ट) सभी बहिष्कृत मूल्यों का उपयोग करता है

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;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Linux/Windows में PgBouncer लॉग्स को रोटेट कैसे करें?

  2. PostgreSQL स्ट्रीमिंग प्रतिकृति बनाम तार्किक प्रतिकृति

  3. स्प्रिंग बूट से हरोकू पोस्टग्रेज से जुड़ना

  4. PostgreSQL 12 में नया क्या है?

  5. क्लॉज द्वारा SELECT, WHERE और ORDER के लिए परिणाम का पुन:उपयोग कैसे करें?