একটি কলামে NULL অনুমতি দিয়ে ডিফল্ট মান খালি স্ট্রিং ('') সেট করতে DEFAULT কীওয়ার্ড ব্যবহার করুন।
সিনট্যাক্স
ALTER TABLE yourTableName
ADD yourColumnName yourDataType NULL DEFAULT '';
উদাহরণ দিয়ে বুঝি
টেবিল তৈরি করুন:
mysql> CREATE TABLE AllowNullDefaulNotNullDemo (
-> Id INT NOT NULL AUTO_INCREMENT,
-> UserName VARCHAR(20),
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (0.65 sec)
নতুন কলাম যোগ করুন (NULL অনুমতি, ডিফল্ট খালি স্ট্রিং)
mysql> ALTER TABLE AllowNullDefaulNotNullDemo
-> ADD UserAddress VARCHAR(20) NULL DEFAULT '';
Query OK, 0 rows affected (1.04 sec)
টেবিল স্ট্রাকচার চেক করুন:
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 | | | |
+-------------+-------------+------+-----+---------+----------------+
3 rows in set (0.17 sec)
Default কলামে খালি মান ('') দেখা যাচ্ছে, Null কলামে YES।
রেকর্ড ইনসার্ট করুন
mysql> INSERT INTO AllowNullDefaulNotNullDemo(UserAddress) VALUES('US');
mysql> INSERT INTO AllowNullDefaulNotNullDemo(UserAddress) VALUES(NULL);
mysql> INSERT INTO AllowNullDefaulNotNullDemo() VALUES();
UserAddress কলাম চেক করুন:
mysql> SELECT UserAddress FROM AllowNullDefaulNotNullDemo;
+-------------+
| UserAddress |
+-------------+
| US |
| NULL |
| |
+-------------+
3 rows in set (0.00 sec)
ব্যাখ্যা:
- ১ম রো: স্পষ্টভাবে 'US' দেওয়া হয়েছে
- ২য় রো: স্পষ্টভাবে NULL দেওয়া হয়েছে (NULL অনুমতিত)
- ৩য় রো: কোনো মান না দেওয়ায় ডিফল্ট খালি স্ট্রিং (
'') সেট হয়েছে
সতর্কতা: NULL এবং '' (খালি স্ট্রিং) ভিন্ন জিনিস। IS NULL চেক করলে ২য় রো ম্যাচ করবে, ৩য় রো না।