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

तालिका के लिए केवल एक पंक्ति की अनुमति कैसे दें?

एक UNIQUE बाधा NULL के साथ कई पंक्तियों की अनुमति देती है मान, क्योंकि दो NULL मूल्यों को कभी भी समान नहीं माना जाता है।

इसी तरह के विचार CHECK . पर लागू होते हैं प्रतिबंध। वे अभिव्यक्ति को TRUE . होने देते हैं या NULL (बस नहीं FALSE ) फिर से, NULL मान चेक से आगे निकल जाते हैं।

इससे इंकार करने के लिए, कॉलम जरूरी परिभाषित किया जा सकता है NOT NULL . या इसे PRIMARY KEY बनाएं चूंकि पीके कॉलम परिभाषित हैं NOT NULL खुद ब खुद। विवरण:

साथ ही, बस boolean का उपयोग करें :

CREATE TABLE public.onerow (
   onerow_id bool PRIMARY KEY DEFAULT TRUE
 , data text
 , CONSTRAINT onerow_uni CHECK (onerow_id)
);

CHECK boolean . के लिए बाधा इतनी आसान हो सकती है कॉलम। केवल TRUE अनुमति है।

आप REVOKE करना चाह सकते हैं (या नहीं GRANT ) DELETE और TRUNCATE public . से विशेषाधिकार (और अन्य सभी भूमिकाएँ) एकल पंक्ति को कभी भी हटाए जाने से रोकने के लिए। पसंद:

REVOKE DELETE, TRUNCATE ON public.onerow FROM public;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेल:हरोकू की तैनाती, कई समस्याएं

  2. Postgresql 9.4 में लॉग डायरेक्टरी लोकेशन कैसे बदलें?

  3. Psql में बहु-पंक्ति स्ट्रिंग को परिभाषित करना

  4. कैसे कोट () PostgreSQL में काम करता है

  5. SFTP फ़ाइल से CSV/Excel फ़ाइलें पढ़ें, पांडा का उपयोग करके उन फ़ाइलों में कुछ बदलाव करें और वापस सहेजें