आप सिस्टम कॉलम को देख सकते हैं xmax
अंतर बताने के लिए। यह 0
है इस मामले में सम्मिलित पंक्तियों के लिए।
CREATE TABLE tbl(id int PRIMARY KEY, col int);
INSERT INTO tbl VALUES (1, 1);
INSERT INTO tbl(id, col)
VALUES (1,11), (2,22)
ON CONFLICT (id) DO UPDATE
SET col = EXCLUDED.col
RETURNING *, (xmax = 0) AS inserted;
यह एक अनियंत्रित कार्यान्वयन विवरण पर निर्माण कर रहा है जो भविष्य के रिलीज में बदल सकता है (भले ही असंभव हो)। यह पोस्टग्रेज 9.5 और 9.6 के लिए काम करता है।
इसकी खूबी:आपको अतिरिक्त कॉलम पेश करने की आवश्यकता नहीं है।
विस्तृत विवरण:
- PostgreSQL अप्सर्ट सिस्टम कॉलम XMIN, XMAX और अन्य का उपयोग करके सम्मिलित और अपडेट की गई पंक्तियों में अंतर करता है