जब आप एक पंक्ति (PostgreSQL> = 9.5) को बढ़ा रहे हैं, और आप चाहते हैं कि संभव INSERT बिलकुल संभव है, तो आप इसे इस तरह लिख सकते हैं:
INSERT INTO tablename (id, username, password, level, email)
VALUES (1, 'John', 'qwerty', 5, 'john@mail.com')
ON CONFLICT (id) DO UPDATE SET
id=EXCLUDED.id, username=EXCLUDED.username,
password=EXCLUDED.password, level=EXCLUDED.level,email=EXCLUDED.email
क्या कोई छोटा रास्ता है? केवल कहने के लिए: सभी EXCLUDE मानों का उपयोग करें।
SQLite में मैं करता था:
INSERT OR REPLACE INTO tablename (id, user, password, level, email)
VALUES (1, 'John', 'qwerty', 5, 'john@mail.com')
एक अन्य विकल्प है कि जोंसब कॉलम का उपयोग किया जाए और इस तरह आपको कॉलम के बारे में चिंता करने की ज़रूरत नहीं है
—
j
INSERT INTO tablename (id, username, password, level, email) VALUES (1, 'John', 'qwerty', 5, 'john@mail.com') ON CONFLICT (id) DO UPDATE SET (username, password, level, email) = (EXCLUDED.username, EXCLUDED.password, EXCLUDED.level, EXCLUDED.email).
लगभग उसी स्तंभ सूची है, लेकिन आसान कॉपी करने के लिए / पेस्ट / प्रबंधन