जब हम इस तरह से टेबल बनाते हैं:
CREATE TABLE people (
age INT,
name CHAR(20)
);
SQL स्वतंत्र रूप से रिक्त मानों को रिकॉर्ड के रूप में स्वीकार करता है:
INSERT INTO people VALUES (null, null);
यह एक समस्या हो सकती है, क्योंकि अब हमारे पास शून्य मानों वाली एक पंक्ति है:
age | name
-----+--------
37 | Flavio
8 | Roger
|
इसे हल करने के लिए, हम अपनी टेबल पंक्तियों पर बाधाओं की घोषणा कर सकते हैं। NOT NULL
शून्य मानों को रोकता है:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
);
यदि हम इस क्वेरी को फिर से निष्पादित करने का प्रयास करते हैं:
INSERT INTO people VALUES (null, null);
हमें एक त्रुटि मिलेगी, इस तरह:
ERROR: null value in column "age" violates not-null constraint
DETAIL: Failing row contains (null, null).
<ब्लॉकक्वॉट> ध्यान दें कि एक खाली स्ट्रिंग एक मान्य गैर-शून्य मान है।