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

MySQL ENUM-এ খালি এবং NULL মান কীভাবে হ্যান্ডেল করে?

MySQL ENUM-এ খালি মান তখনই গ্রহণ করে যখন SQL mode TRADITIONAL, STRICT_TRANS_TABLES বা STRICT_ALL_TABLES নয়। অন্যথায় এরর থ্রো করে। প্রতিটি এনুমারেশন মানের একটি সূচক মান থাকে, খালি মানের সূচক ০।

উদাহরণ

mysql> SET SQL_MODE = 'Traditional';
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO result(id, name, grade) VALUES(100, 'Raman', '');
ERROR 1265 (01000): Data truncated for column 'Grade' at row 1

SQL mode পরিবর্তন করলে খালি স্ট্রিং ইনসার্ট করা যায়:

mysql> SET SQL_MODE = '';
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO result(id, name, grade) VALUES(100, 'Raman', '');
Query OK, 1 row affected, 1 warning (0.04 sec)
mysql> SELECT * FROM result;
+-----+-------+-------+
| Id  | Name  | Grade |
+-----+-------+-------+
| 100 | Raman |       |
+-----+-------+-------+
1 row in set (0.00 sec)

MySQL ENUM-এ NULL মান গ্রহণ করে যদি ENUM কলামের সাথে NOT NULL নির্দিষ্ট না করা হয়। NULL-এর সূচক মান NULL।

উদাহরণ

mysql> INSERT INTO result(id, name, grade) VALUES(101, 'Rahul', NULL);
Query OK, 1 row affected (0.04 sec)

উপরের কোয়েরি NULL ইনসার্ট করেছে কারণ ENUM কলাম ডিক্লারেশনে NOT NULL নেই।

mysql> SELECT * FROM result;
+-----+-------+-------+
| Id  | Name  | Grade |
+-----+-------+-------+
| 100 | Raman |       |
| 101 | Rahul | NULL  |
+-----+-------+-------+
2 rows in set (0.00 sec)
  1. MySQL-এ LENGTH() ফাংশন ব্যবহার করে খালি স্ট্রিংকে NULL এ আপডেট করা

  2. MySQL-এ খালি মান (Empty String) NULL-এ রূপান্তর করা

  3. MySQL-এ NULL মান উপেক্ষা করে বাকি মান দেখানো

  4. MySQL-এ IFNULL() দিয়ে NULL মানকে ১ এবং নন-নালকে ১ যোগ করে আপডেট করা