MySQL में मौजूदा कॉलम में NOT NULL कंस्ट्रेंट जोड़ने के लिए, हम ALTER कमांड का उपयोग करेंगे। यह एक प्रकार का सत्यापन है जो उपयोगकर्ता को नल मान दर्ज करने से रोकता है।
आइए एक उदाहरण देखते हैं। सबसे पहले, हम एक टेबल बनाएंगे। टेबल बनाने के लिए CREATE कमांड का उपयोग किया जाता है।
mysql> create table AddNotNUlldemo -> ( -> name varchar(100) -> ); Query OK, 0 rows affected (0.44 sec)
रिकॉर्ड्स डालने के लिए।
mysql> insert into AddNotNUlldemo values('John');
Query OK, 1 row affected (0.19 sec)
mysql> insert into AddNotNUlldemo values('Bob');
Query OK, 1 row affected (0.19 sec)
सभी रिकॉर्ड्स प्रदर्शित करने के लिए।
mysql> select *from AddNotNUlldemo;
यहां आउटपुट है।
+------+ | name | +------+ | John | | Bob | +------+ 2 rows in set (0.00 sec)
मौजूदा कॉलम में कंस्ट्रेंट जोड़ने का निम्नलिखित सिंटैक्स है।
ALTER table yourTableName modify column_name data_type constraint;
आइए अब उपरोक्त सिंटैक्स को नीचे दी गई क्वेरी में लागू करें। यहां, हम "not null" कंस्ट्रेंट शामिल कर रहे हैं।
mysql> ALTER table AddNotNUlldemo modify name varchar(100) not null; Query OK, 0 rows affected (1.14 sec) Records: 0 Duplicates: 0 Warnings: 0
अब, हम टेबल "AddNotNUlldemo" में नल मान नहीं डाल सकते क्योंकि हमने ऊपर कंस्ट्रेंट को "not null" के रूप में सेट किया है। यदि हम नल मान जोड़ने का प्रयास करते हैं, तो हमें एक त्रुटि मिलेगी। निम्नलिखित एक उदाहरण है।
mysql> INSERT into AddNotNUlldemo values(null); ERROR 1048 (23000): Column 'name' cannot be null
सभी रिकॉर्ड्स प्रदर्शित करने के लिए।
mysql> SELECT *from AddNotNUlldemo;
यहां आउटपुट है।
+------+ | name | +------+ | John | | Bob | +------+ 2 rows in set (0.00 sec)
महत्वपूर्ण: यदि कॉलम में पहले से NULL मान हैं, तो यह कमांड विफल हो जाएगी। पहले UPDATE table SET column = 'default_value' WHERE column IS NULL; चलाकर NULL मानों को अपडेट करें।