MySQL-এ কলাম থেকে NOT NULL সীমাবদ্ধতা সরানো
একটি কলামে NOT NULL কনস্ট্রেইন্ট থাকলে সেখানে NULL ইনসার্ট করা যায় না। এই সীমাবদ্ধতা সরাতে ALTER TABLE ... MODIFY COLUMN ব্যবহার করা হয়, যেখানে কলাম ডিফিনিশন থেকে NOT NULL বাদ দেওয়া হয়।
সিনট্যাক্স
ALTER TABLE yourTableName MODIFY COLUMN yourColumnName dataType;
উদাহরণ
টেবিল তৈরি (Name NOT NULL)
mysql> CREATE TABLE NotNullDemo (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Name VARCHAR(20) NOT NULL,
-> PRIMARY KEY(Id)
-> );
NULL ইনসার্ট চেষ্টা (এরর)
mysql> INSERT INTO NotNullDemo(Name) VALUES(NULL); ERROR 1048 (23000): Column 'Name' cannot be null
NOT NULL সরানো
mysql> ALTER TABLE NotNullDemo MODIFY COLUMN Name VARCHAR(20); Query OK, 0 rows affected (1.78 sec)
এখন NULL ইনসার্ট করা যাচ্ছে
mysql> INSERT INTO NotNullDemo(Name) VALUES(NULL), ('Sam'), ('Mike'), (NULL), (NULL), ('John');
ফলাফল
mysql> SELECT * FROM NotNullDemo;
+----+------+ | Id | Name | +----+------+ | 1 | NULL | | 2 | Sam | | 3 | Mike | | 4 | NULL | | 5 | NULL | | 6 | John | +----+------+
সাবধানতা: বড় টেবিলে MODIFY COLUMN চালালে টেবিল রিবিল্ড হতে পারে এবং লক হতে পারে। প্রোডাকশনে पीক আওয়ার বাদে চালান।