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

पोस्टग्रेस्क्ल के साथ इन्सर्ट इग्नोर और डुप्लिकेट की अपडेट (एसक्यूएल मर्ज) का अनुकरण कैसे करें?

PostgreSQL 9.5 के साथ, यह अब मूल कार्यक्षमता है (जैसे MySQL कई वर्षों से है):

<ब्लॉककोट>

सम्मिलित करें ... संघर्ष पर कुछ न करें/अपडेट करें ("UPSERT")

9.5 "UPSERT" संचालन के लिए समर्थन लाता है। INSERT को एक ऑन कॉन्फ्लिक्ट DO UPDATE/IGNORE क्लॉज को स्वीकार करने के लिए बढ़ाया गया है। यह खंड संभावित डुप्लिकेट उल्लंघन की स्थिति में एक वैकल्पिक कार्रवाई निर्दिष्ट करता है।

...

<ब्लॉककोट>

नए सिंटैक्स का और उदाहरण:

INSERT INTO user_logins (username, logins)
VALUES ('Naomi',1),('James',1) 
ON CONFLICT (username)
DO UPDATE SET logins = user_logins.logins + EXCLUDED.logins;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL जहां गिनती की स्थिति

  2. रिकॉर्ड के लिए IS NOT NULL टेस्ट वैरिएबल सेट होने पर TRUE नहीं लौटाता है

  3. पोस्टग्रेएसक्यूएल गिनती पाठ में कितनी बार सबस्ट्रिंग होती है

  4. PostgreSQL पूर्ण पाठ खोज और ट्रिग्राम भ्रम

  5. Django ORM में क्वेरी द्वारा समूहीकृत पर एक एनोटेट फ़ील्ड के अधिकतम योग की गणना करें?