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

अद्वितीय बाधा को पोस्टग्रेज करता है जो विशिष्टता को लागू नहीं करता है

Postgres में अद्वितीय अनुक्रमणिका बराबर . होने वाले मानों पर आधारित होती हैं , लेकिन NULL कभी भी अन्य NULLs सहित किसी भी चीज़ के बराबर नहीं होता है। इसलिए NULL delete_at मान वाली कोई भी पंक्ति किसी भी अन्य संभावित पंक्ति से अलग होती है - इसलिए आप उनमें से किसी भी संख्या को सम्मिलित कर सकते हैं।

इसका एक तरीका आंशिक अनुक्रमणिका . बनाना है , NULLs के साथ और बिना पंक्तियों के लिए अलग-अलग नियम लागू करना:

 CREATE UNIQUE INDEX ... ON subscriptions
 (user_id, class_type_id) WHERE deleted_at IS NULL;

 CREATE UNIQUE INDEX ... ON subscriptions
 (user_id, class_type_id, deleted_at) WHERE deleted_at IS NOT NULL;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे Statement_timestamp () PostgreSQL में काम करता है

  2. पोस्टग्रेज में सटीकता के विभिन्न स्तरों के साथ तिथियों को कैसे स्टोर करें?

  3. PostgreSQL समग्र प्राथमिक कुंजी और सीरियल वेतन वृद्धि?

  4. Postgresql डेटाबेस में एक छवि डालें

  5. PostgreSQL क्वेरी कैसे लॉग करें?