MySQL में NULL-अनुमत लेकिन डिफ़ॉल्ट खाली स्ट्रिंग वाला कॉलम बनाना
आप DEFAULT '' (खाली स्ट्रिंग) के साथ NULL अनुमति देकर ऐसा कॉलम बना सकते हैं।
सिंटैक्स
ALTER TABLE yourTableName ADD yourColumnName yourDataType NULL DEFAULT '';
उदाहरण
टेबल बनाएं:
mysql> create table AllowNullDefaulNotNullDemo (
-> Id int NOT NULL AUTO_INCREMENT,
-> UserName varchar(20),
-> PRIMARY KEY(Id)
-> );
कॉलम जोड़ें (NULL अनुमत, डिफ़ॉल्ट खाली स्ट्रिंग):
mysql> alter table AllowNullDefaulNotNullDemo add UserAddress varchar(20) NULL DEFAULT '';
संरचना जांचें:
mysql> desc AllowNullDefaulNotNullDemo;
+-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | UserName | varchar(20) | YES | | NULL | | | UserAddress | varchar(20) | YES | | | | +-------------+-------------+------+-----+---------+----------------+
डेटा डालें:
mysql> insert into AllowNullDefaulNotNullDemo(UserAddress) values('US');
mysql> insert into AllowNullDefaulNotNullDemo(UserAddress) values(NULL);
mysql> insert into AllowNullDefaulNotNullDemo() values();
परिणाम:
+-------------+ | UserAddress | +-------------+ | US | | NULL | | | -- खाली स्ट्रिंग (डिफ़ॉल्ट) +-------------+
व्याख्या
NULL: कॉलम में NULL मान डाला जा सकता हैDEFAULT '': मान न दिए जाने पर खाली स्ट्रिंग '' संग्रहीत होता है- तीन स्थितियाँ संभव:
NULL,''(खाली),'value'
NULL बनाम खाली स्ट्रिंग
| स्थिति | INSERT | परिणाम |
|---|---|---|
| मान दिया | values('US') | 'US' |
| स्पष्ट NULL | values(NULL) | NULL |
| मान नहीं दिया | values() / DEFAULT | '' (खाली स्ट्रिंग) |