MySQL-এ BOOL = TINYINT(1) - আভ্যন্তরিক রূপান্তর
MySQL-এ BOOL এবং BOOLEAN ডেটা টাইপ আসলে TINYINT(1)-র সিনোনিম (alias)। টেবিল ডেসক্রিপশনে এটি tinyint(1) হিসেবে দেখায়। TRUE=1, FALSE=0 হিসেবে স্টোর হয়।
উদাহরণ সহ ব্যাখ্যা
টেবিল তৈরি (BOOL কলাম):
mysql> CREATE TABLE boolToTinyIntDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name VARCHAR(20),
-> isAgeGreaterThan18 BOOL
-> );
টেবিল ডেসক্রিপশন (আন্তরিক টাইপ):
mysql> DESC boolToTinyIntDemo;
+--------------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | isAgeGreaterThan18 | tinyint(1) | YES | | NULL | | +--------------------+-------------+------+-----+---------+----------------+
ডেটা ইনসার্ট (TRUE/FALSE):
mysql> INSERT INTO boolToTinyIntDemo(Name, isAgeGreaterThan18) VALUES('Larry', TRUE);
mysql> INSERT INTO boolToTinyIntDemo(Name, isAgeGreaterThan18) VALUES('Sam', FALSE);
ফলাফল (১/০ হিসেবে দেখাবে):
mysql> SELECT * FROM boolToTinyIntDemo;
+----+-------+--------------------+ | Id | Name | isAgeGreaterThan18 | +----+-------+--------------------+ | 1 | Larry | 1 | | 2 | Sam | 0 | +----+-------+--------------------+
নোট: MySQL-এ কোনো আলাদা বুলিয়ান স্টোরেজ নেই। সব বুলিয়ান অপারেশন ০/১-এ ভিত্তিক। IS TRUE, IS FALSE, IS NOT TRUE ইত্যাদি অপারেটর আছে বুলিয়ান চেকের জন্য।