ON CONFLICT
निर्माण के लिए UNIQUE
की आवश्यकता होती है काम करने में बाधा। INSERT .. ON CONFLICT
खंड
:
अब, प्रश्न बहुत स्पष्ट नहीं है लेकिन आपको संभवतः एक UNIQUE
. की आवश्यकता है संयुक्त 2 स्तंभों पर प्रतिबंध:(category_id, gallery_id)
।
ALTER TABLE category_gallery
ADD CONSTRAINT category_gallery_uq
UNIQUE (category_id, gallery_id) ;
यदि सम्मिलित की जाने वाली पंक्ति दोनों . से मेल खाती है पहले से टेबल पर एक पंक्ति के साथ मान, फिर INSERT
. के बजाय , एक UPDATE
करें :
INSERT INTO category_gallery (
category_id, gallery_id, create_date, create_by_user_id
) VALUES ($1, $2, $3, $4)
ON CONFLICT (category_id, gallery_id)
DO UPDATE SET
last_modified_date = EXCLUDED.create_date,
last_modified_by_user_id = EXCLUDED.create_by_user_id ;
आप या तो UNIQUE बाधा के स्तंभों का उपयोग कर सकते हैं:
ON CONFLICT (category_id, gallery_id)
या बाधा नाम:
ON CONFLICT ON CONSTRAINT category_gallery_uq