सारांश :इस ट्यूटोरियल में, आप सीखेंगे कि SQLite का उपयोग कैसे करें NOT NULL
यह सुनिश्चित करने में बाधा है कि कॉलम में मान NULL
नहीं हैं ।
SQLite का परिचय NOT NULL
बाधा
जब आप कोई तालिका बनाते हैं, तो आप निर्दिष्ट कर सकते हैं कि कोई स्तंभ स्वीकार करता है या नहींNULL
मान या नहीं। डिफ़ॉल्ट रूप से, तालिका के सभी कॉलम NULL
स्वीकार करते हैं मूल्यों को छोड़कर आप स्पष्ट रूप से NOT NULL
का उपयोग करते हैं बाधाएं।
NOT NULL
को परिभाषित करने के लिए एक कॉलम के लिए बाधा, आप निम्न सिंटैक्स का उपयोग करते हैं:
CREATE TABLE table_name (
...,
column_name type_name NOT NULL,
...
);
Code language: SQL (Structured Query Language) (sql)
अन्य बाधाओं जैसे PRIMARY KEY
. के विपरीत और CHECK
, आप केवल NOT NULL
. को परिभाषित कर सकते हैं स्तंभ स्तर पर बाधाएँ, तालिका स्तर पर नहीं।
SQL मानक के आधार पर, PRIMARY KEY
हमेशा NOT NULL
का अर्थ होना चाहिए . हालांकि, SQLite NULL
की अनुमति देता है PRIMARY KEY
में मान कॉलम सिवाय इसके कि एक कॉलम INTEGER PRIMARY KEY
है कॉलम या टेबल एक WITHOUT ROWID
है टेबल या कॉलम को NOT NULL
के रूप में परिभाषित किया गया है स्तंभ।
यह कुछ शुरुआती संस्करणों में एक बग के कारण है। यदि यह बग SQL मानक के अनुरूप तय किया गया है, तो यह लीगेसी सिस्टम को तोड़ सकता है। इसलिए, NULL
. को अनुमति देने का निर्णय लिया गया है PRIMARY KEY
में मान स्तंभ।
एक बार NOT NULL
बाधा एक कॉलम से जुड़ी होती है, कॉलम मान को NULL
. पर सेट करने का कोई भी प्रयास जैसे डालने या अपडेट करने से बाधा उल्लंघन होगा।
SQLite NOT NULL
बाधा उदाहरण
निम्न उदाहरण suppliers
. नामक एक नई तालिका बनाता है :
CREATE TABLE suppliers(
supplier_id INTEGER PRIMARY KEY,
name TEXT NOT NULL
);
Code language: SQL (Structured Query Language) (sql)
इस उदाहरण में, supplier_id
PRIMARY KEY
है suppliers
. का कॉलम टेबल। क्योंकि इस कॉलम को INTEGER PRIMARY KEY
. के रूप में घोषित किया गया है , यह स्वीकार नहीं करेगा NULL
मान।
name
कॉलम को NOT NULL
. के साथ भी घोषित किया गया है बाधा है, इसलिए यह केवल गैर-शून्य मान स्वीकार करेगा।
निम्नलिखित कथन NULL
को सम्मिलित करने का प्रयास करता है name
. में suppliers
. का कॉलम टेबल:
INSERT INTO suppliers(name)
VALUES(NULL);
Code language: SQL (Structured Query Language) (sql)
NOT NULL
के कारण कथन विफल हो जाता है बाधा उल्लंघन। यहाँ त्रुटि संदेश है:
SQL Error [19]: [SQLITE_CONSTRAINT] Abort due to constraint violation (NOT NULL constraint failed: suppliers.name)
Code language: CSS (css)
इस ट्यूटोरियल में, आपने सीखा है कि SQLite NOT NULL
का उपयोग कैसे किया जाता है कॉलम में मान सुनिश्चित करने के लिए बाधा NULL नहीं है।