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

SQLite में CHECK बाधाओं को सक्षम/अक्षम कैसे करें

यदि आपको कभी भी सभी CHECK . को सक्षम या अक्षम करने की आवश्यकता हो तो SQLite में बाधाएं, आप ignore_check_constraints . का उपयोग कर सकते हैं PRAGMA स्टेटमेंट।

यह व्यावहारिक कथन CHECK . के प्रवर्तन को स्पष्ट रूप से सक्षम या अक्षम करता है प्रतिबंध। डिफ़ॉल्ट सेटिंग बंद है, जिसका अर्थ है कि CHECK बाधाओं को डिफ़ॉल्ट रूप से लागू किया जाता है।

सिंटैक्स

वाक्य रचना इस प्रकार है:

PRAGMA ignore_check_constraints = boolean;

जहां बूलियन एक बूलियन मान है।

  • अक्षम करने के लिए CHECK बाधाओं, यह निम्न में से कोई भी हो सकता है:
    • false
    • no
    • off
    • 0
  • सक्षम करने के लिए CHECK बाधाओं, यह निम्न में से कोई भी हो सकता है:
    • true
    • yes
    • on
    • 1

उदाहरण

सबसे पहले, एक CHECK . के साथ एक टेबल बनाते हैं बाधा:

CREATE TABLE Products( 
    ProductId INTEGER PRIMARY KEY, 
    ProductName, 
    Price 
    CHECK (Price > 0)
);

अब हम टॉगल कर सकते हैं CHECK उस प्रतिबंध को लागू करने या न लागू करने के लिए आवश्यक बाधाओं को चालू या बंद करना।

जांच बाधाओं को सक्षम करें

यहां सभी CHECK . को सक्षम करने का एक उदाहरण दिया गया है बाधाएं:

PRAGMA ignore_check_constraints = 0;

जैसा कि बताया गया है, यह वैसे भी डिफ़ॉल्ट मान है। इसलिए यदि आप इस PRAGMA स्टेटमेंट का उपयोग नहीं करते हैं CHECK इस मान पर बाधाएं पहले से ही सेट की जाएंगी।

आइए अब जाँचते हैं कि CHECK बाधाओं को वास्तव में उस डेटा को सम्मिलित करने का प्रयास करके सक्षम किया जाता है जो उस CHECK . का उल्लंघन करता है बाधा:

INSERT INTO Products VALUES 
    (NULL, 'Blue Widget', 0.00);

परिणाम:

Error: CHECK constraint failed: Products

तो CHECK अपेक्षा के अनुरूप प्रतिबंध लागू किया गया था।

जांच बाधाओं को अक्षम करें

यहां सभी CHECK . को अक्षम करने का एक उदाहरण दिया गया है बाधाएं:

PRAGMA ignore_check_constraints = 1;

आइए अब फिर से वही डेटा डालने का प्रयास करें और परिणाम चुनें:

INSERT INTO Products VALUES 
    (NULL, 'Blue Widget', 0.00);

SELECT * FROM Products;

परिणाम:

ProductId   ProductName  Price     
----------  -----------  ----------
1           Blue Widget  0.0       

जैसा कि अपेक्षित था, डेटा डेटाबेस में प्रवेश करने में कामयाब रहा, भले ही यह CHECK . का उल्लंघन करता हो बाधा।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GreenDAO तालिकाओं के बीच कई संबंधों का समर्थन करता है

  2. एंड्रॉइड का उपयोग कर एसक्लाइट में पंक्ति गणना कैसे प्राप्त करें?

  3. SQLite डेटाबेस का बैकअप लेने के 3 तरीके

  4. SQLite क्वेरी परिणामों में सिंगल कोट्स में स्ट्रिंग्स संलग्न करें

  5. डेटास्टैम्प का उपयोग करके तालिका बनाएं