असल में, MySQL NOT NULL बाधा तालिका के एक कॉलम को NULL मान रखने से रोकती है। एक बार जब हम किसी कॉलम पर NOT NULL बाधा लागू कर देते हैं, तो हम उस कॉलम के लिए एक शून्य मान नहीं दे सकते। इसे पूरी मेज पर घोषित नहीं किया जा सकता है, दूसरे शब्दों में, हम कह सकते हैं कि NOT NULL एक स्तंभ स्तर की बाधा है।
किसी फ़ील्ड को NOT NULL घोषित करने के लिए, हमें CREATE TABLE स्टेटमेंट में कॉलम को परिभाषित करते समय NOT NULL कीवर्ड का उपयोग करना होगा।
उदाहरण
mysql> Create table Employee(ID Int NOT NULL, First_Name Varchar(20), Last_name Varchar(20), Designation Varchar(15)); Query OK, 0 rows affected (0.59 sec)
उपरोक्त प्रश्न में, हमने 'कर्मचारी' तालिका के क्षेत्र 'आईडी' पर NOT NULL बाधा लागू की है। अब, कॉलम 'आईडी' NULL मान नहीं ले सकता। इसे DESCRIBE स्टेटमेंट से भी चेक किया जा सकता है कि फाइल की गई आईडी NULL वैल्यू को स्वीकार नहीं कर सकती है।
mysql> DESCRIBE Employee123\G *************************** 1. row *************************** Field: ID Type: int(11) Null: NO Key: Default: NULL Extra: *************************** 2. row *************************** Field: First_Name Type: varchar(20) Null: YES Key: Default: NULL Extra: *************************** 3. row *************************** Field: Last_name Type: varchar(20) Null: YES Key: Default: NULL Extra: *************************** 4. row *************************** Field: Designation Type: varchar(15) Null: YES Key: Default: NULL Extra: 4 rows in set (0.03 sec)