MySQL में कॉलम से NOT NULL प्रतिबंध हटाने के लिए, ALTER कमांड का उपयोग करें। वाक्य रचना इस प्रकार है:
ALTER TABLE yourTableName MODIFY COLUMN yourColumnName dataType;
उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है:
mysql> create table NotNullDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20) NOT NULL, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.58 sec)
उपरोक्त तालिका में, यदि आप 'नाम' कॉलम में NULL मान डालते हैं तो MySQL NOT NULL प्रतिबंध की त्रुटि देगा। NULL मान डालने की क्वेरी इस प्रकार है:
mysql> insert into NotNullDemo(Name) values(NULL); ERROR 1048 (23000): Column 'Name' cannot be null
कॉलम 'नाम' से NOT NULL प्रतिबंध हटाने की क्वेरी यहां दी गई है:
mysql> alter table NotNullDemo MODIFY COLUMN Name varchar(20); Query OK, 0 rows affected (1.78 sec)
रिकॉर्ड:0 डुप्लीकेट:0 चेतावनियां:0
अब आप अपनी पसंद के अनुसार NULL मान डाल सकते हैं। तालिका में रिकॉर्ड डालने के लिए क्वेरी NULL मान के साथ:
mysql> insert into removeNotNulllDemo(Name) values(NULL); Query OK, 1 row affected (0.12 sec) mysql> insert into removeNotNulllDemo(Name) values('Sam'); Query OK, 1 row affected (0.14 sec) mysql> insert into removeNotNulllDemo(Name) values('Mike'); Query OK, 1 row affected (0.13 sec) mysql> insert into removeNotNulllDemo(Name) values(NULL); Query OK, 1 row affected (0.10 sec) mysql> insert into removeNotNulllDemo(Name) values(NULL); Query OK, 1 row affected (0.10 sec) mysql> insert into removeNotNulllDemo(Name) values('John'); Query OK, 1 row affected (0.13 sec)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है:
mysql> select *from removeNotNulllDemo;
निम्न आउटपुट है:
+----+------+ | Id | Name | +----+------+ | 1 | NULL | | 2 | Sam | | 3 | Mike | | 4 | NULL | | 5 | NULL | | 6 | John | +----+------+ 6 rows in set (0.00 sec)