০, ১ এবং NULL মান স্টোর করার জন্য সবচেয়ে উপযুক্ত ডেটা টাইপ হলো TINYINT(1) UNSIGNED NULL।
সিনট্যাক্স
yourColumnName TINYINT(1) UNSIGNED NULL;
উদাহরণ দিয়ে বুঝি
টেবিল তৈরি করুন:
mysql> CREATE TABLE StoreValue0and1orNULLDemo (
-> isDigit TINYINT(1) UNSIGNED NULL
-> );
Query OK, 0 rows affected (0.63 sec)
০, ১ এবং NULL ইনসার্ট করুন:
mysql> INSERT INTO StoreValue0and1orNULLDemo VALUES(0);
mysql> INSERT INTO StoreValue0and1orNULLDemo VALUES(1);
mysql> INSERT INTO StoreValue0and1orNULLDemo VALUES(NULL);
ফলাফল দেখুন:
mysql> SELECT * FROM StoreValue0and1orNULLDemo;
+---------+
| isDigit |
+---------+
| 0 |
| 1 |
| NULL |
+---------+
3 rows in set (0.00 sec)
কেন TINYINT(1) UNSIGNED NULL?
- TINYINT: ১ বাইট স্টোরেজ, রেঞ্জ: -128 থেকে 127 (সাইনড) / 0 থেকে 255 (আনসাইনড)
- (1): ডিসপ্লে ওয়িদথ ১ (স্টোরেজে প্রভাব ফেলে না)
- UNSIGNED: নেতিবাচক মান নেই, ০ থেকে ২৫৫ পর্যন্ত
- NULL: NULL মান গ্রহণ করতে পারে
বুলিয়ান/ফ্ল্যাগ টাইপ ডেটার জন্য এটি সর্বোত্তম চয়েস। MySQL-এ BOOLEAN বা BOOL আসলে TINYINT(1) এর সিনোনিম।