मौजूदा MySQL टेबल के किसी कॉलम से NOT NULL कंस्ट्रेंट हटाने के लिए ALTER TABLE ... MODIFY स्टेटमेंट का उपयोग करें।
उदाहरण
test123 टेबल में ID कॉलम पर NOT NULL कंस्ट्रेंट है:
mysql> DESCRIBE test123; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | ID | int(11) | NO | | NULL | | | Date | date | YES | | NULL | | +-------+---------+------+-----+---------+-------+
NOT NULL हटाएं (NULL कीवर्ड के साथ)
mysql> ALTER TABLE test123 MODIFY ID INT NULL; Query OK, 0 rows affected (0.20 sec) mysql> DESCRIBE test123; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | ID | int(11) | YES | | NULL | | | Date | date | YES | | NULL | | +-------+---------+------+-----+---------+-------+
बिना NULL कीवर्ड के (वैकल्पिक)
mysql> ALTER TABLE test123 MODIFY ID INT; Query OK, 0 rows affected (0.20 sec) -- समान परिणाम: Null = YES हो जाता है
महत्वपूर्ण बिंदु
MODIFYके बाद डेटा टाइप दोहराना आवश्यक हैNULLकीवर्ड वैकल्पिक है - डिफ़ॉल्ट रूप से NULL अनुमति होती है
<ि>डेटा खोने का खतरा नहीं - केवल कंस्ट्रेंट हटता है
- यदि कॉलम PRIMARY KEY का हिस्सा है, तो पहले PRIMARY KEY हटाना होगा
सत्यापन
DESCRIBE table_name; -- Null कॉलम में YES दिखना चाहिए
संबंधित ऑपरेशन
- NOT NULL जोड़ना:
ALTER TABLE t MODIFY col INT NOT NULL - डिफ़ॉल्ट मान सेट करना:
ALTER TABLE t MODIFY col INT DEFAULT 0 - कॉलम नाम बदलना:
ALTER TABLE t CHANGE old_name new_name INT