কম্পিউটার টিউটোরিয়াল

MySQL-এ NOT NULL সংজ্ঞায়িত কলামে শূন্য বা খালি স্ট্রিং কীভাবে ইনসার্ট করা সম্ভব?


একটি কলাম 'NOT NULL' ঘোষণা মানে সেটি NULL মান গ্রহণ করবে না, কিন্তু শূন্য (0) এবং খালি স্ট্রিং নিজে স্বয়ং একটি মান। তাই NOT NULL কলামে শূন্য বা খালি স্ট্রিং ইনসার্ট করতে কোনো সমস্যা নেই। নিচের তুলনা থেকে এটি স্পষ্ট হয়বে:

mysql> Select 0 IS NULL, 0 IS NOT NULL; 
+-----------+---------------+
| 0 IS NULL | 0 IS NOT NULL |
+-----------+---------------+
|         0 |             1 |
+-----------+---------------+
1 row in set (0.00 sec)

উপরের ফলাফল দেখায় যে শূন্য (0) NULL নয়। অর্থাৎ শূন্য নিজে একটি মান, কারণ NULL মানে NO VALUE।

mysql> Select '' IS NULL, '' IS NOT NULL; 
+------------+----------------+
| '' IS NULL | '' IS NOT NULL |
+------------+----------------+
|          0 |              1 |
+------------+----------------+
1 row in set (0.00 sec)

উপরের ফলাফল দেখায় যে খালি স্ট্রিং ('') NULL নয়। অর্থাৎ খালি স্ট্রিং নিজে একটি মান।

উদাহরণ

mysql> create table test(id int NOT NULL, Name Varchar(10)); 
Query OK, 0 rows affected (0.19 sec)
mysql> Insert into test6(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav'); 
Query OK, 3 rows affected, 1 warning (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 1
Warning (Code 1366): Incorrect integer value: '' for column 'id' at row 3
mysql> Select * from test; 
+----+--------+
| id | Name |
+----+--------+
|  1 | Gaurav |
|  0 | Rahul  |
|  0 | Aarav  |
+----+--------+
3 rows in set (0.00 sec)

উপরের ফলাফল থেকে দেখা যায় যে, NOT NULL ঘোষিত কলামে শূন্য (0) এবং খালি স্ট্রিং ('') ইনসার্ট করা যায়।


  1. MySQL-এ CHAR(1) কলামে NULL ইনসার্ট করা

  2. Java ব্যবহার করে MySQL কলামে DATE ইনসার্ট করার পদ্ধতি

  3. Java-MySQL 연동: 단일 컬럼만 INSERT하기

  4. MySQL-এ কলামকে NOT NULL ডিফাইন করা যাতে সেটি খালি (NULL) না থাকে