6
วิธีใช้ RETURNING ด้วย ON CONFLICT ใน PostgreSQL
ฉันมี UPSERT ต่อไปนี้ใน PostgreSQL 9.5: INSERT INTO chats ("user", "contact", "name") VALUES ($1, $2, $3), ($2, $1, NULL) ON CONFLICT("user", "contact") DO NOTHING RETURNING id; หากไม่มีข้อขัดแย้งมันจะคืนค่าดังนี้: ---------- | id | ---------- 1 | 50 | ---------- 2 | 51 | ---------- แต่ถ้ามีข้อขัดแย้งมันจะไม่ส่งคืนแถวใด ๆ : ---------- | id | ---------- ฉันต้องการส่งคืนidคอลัมน์ใหม่หากไม่มีความขัดแย้งหรือส่งคืนidคอลัมน์ที่มีอยู่ของคอลัมน์ที่ขัดแย้งกัน …