MySQL में पहले से बने कॉलम पर NOT NULL कंस्ट्रेंट जोड़ने के लिए ALTER TABLE ... MODIFY स्टेटमेंट का उपयोग किया जाता है, जिसमें कॉलम परिभाषा दोहराई जाती है और NOT NULL जोड़ा जाता है।
उदाहरण के लिए टेबल बनाना (StudentName बिना NOT NULL)
mysql> CREATE TABLE DemoTable (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName VARCHAR(100)
);
टेबल संरचना जांचना (पहले)
mysql> DESC DemoTable;
आउटपुट
+-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(100) | YES | | NULL | | +-------------+--------------+------+-----+---------+----------------+
NOT NULL कंस्ट्रेंट जोड़ना
mysql> ALTER TABLE DemoTable MODIFY StudentName VARCHAR(100) NOT NULL;
आउटपुट
Query OK, 0 rows affected (1.57 sec)
टेबल संरचना जांचना (बाद में)
mysql> DESC DemoTable;
आउटपुट
+-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(100) | NO | | NULL | | +-------------+--------------+------+-----+---------+----------------+
महत्वपूर्ण: MODIFY में पूर्ण कॉलम परिभाषा (डेटा टाइप, लंबाई) दोहरानी पड़ती है। यदि टेबल में मौजूदा NULL मान हैं, तो यह कमांड विफल होगी। पहले NULL मानों को अपडेट करें: UPDATE DemoTable SET StudentName='Unknown' WHERE StudentName IS NULL।