এজন্য আপনাকে DEFAULT কীওয়ার্ডটি বাদ দিতে হবে। সিনট্যাক্স নিচে দেওয়া হলো:
ALTER TABLE yourTableName ADD COLUMN yourColumnName dataType NOT NULL AFTER yourColumnName;
উদাহরণ দিয়ে বুঝি
প্রথমে একটি টেবিল তৈরি করুন:
mysql> CREATE TABLE AddingColumnDefaultValueNOTNULL (
-> Id INT NOT NULL AUTO_INCREMENT,
-> FirstName VARCHAR(20),
-> LastName VARCHAR(20),
-> Age INT,
-> Address VARCHAR(100),
-> Salary INT,
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (0.58 sec)
টেবিলের বিবরণ দেখুন:
mysql> DESC AddingColumnDefaultValueNOTNULL;
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| FirstName | varchar(20) | YES | | NULL | |
| LastName | varchar(20) | YES | | NULL | |
| Age | int(11) | YES | | NULL | |
| Address | varchar(100) | YES | | NULL | |
| Salary | int(11) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
6 rows in set (0.11 sec)
এখন একটি কলাম যোগ করুন যার ডিফল্ট মান NOT NULL:
mysql> ALTER TABLE AddingColumnDefaultValueNOTNULL
-> ADD COLUMN City VARCHAR(20) NOT NULL AFTER Age;
Query OK, 0 rows affected (2.17 sec)
Records: 0 Duplicates: 0 Warnings: 0
আবার টেবিলের বিবরণ চেক করুন:
mysql> DESC AddingColumnDefaultValueNOTNULL;
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| FirstName | varchar(20) | YES | | NULL | |
| LastName | varchar(20) | YES | | NULL | |
| Age | int(11) | YES | | NULL | |
| City | varchar(20) | NO | | NULL | |
| Address | varchar(100) | YES | | NULL | |
| Salary | int(11) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
7 rows in set (0.02 sec)
City ফিল্ডে নাল (Null) কলামে NO দেখা যাচ্ছে, অর্থাৎ এই ফিল্ডে NULL মান দেওয়া যাবে না।