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

MySQL-এ NOT NULL কলামে খালি স্ট্রিং ইনসার্ট করলে 0 কেন দেখায়?


কারণ হলো, খালি স্ট্রিং ইনসার্ট মানে আমরা NULL নয়, বরং একটি মান দিচ্ছি। খালি স্ট্রিং এর ইন্টিজার রিপ্রেজেন্টেশন 0। অর্থাৎ, খালি স্ট্রিং দিয়ে আমরা MySQL-কে INT 0 রিপ্রেজেন্টেশনযুক্ত একটি মান দিচ্ছি। নিচের উদাহরণে খালি স্ট্রিং ইনসার্ট করলে MySQL সেটিকে 0-এ ম্যাপ করেছে:

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

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

  2. MySQL-এ IS NOT NULL দিয়ে কলামে NULL বা NOT NULL চেক করা

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

  4. MySQL-এ ALTER TABLE MODIFY দিয়ে বিদ্যমান কলামে NOT NULL অ্যাট্রিবিউট সেট করা