ใช่ MySQL ภายในแปลง bool เป็น tinyint(1) เนื่องจาก tinyint เป็นประเภทข้อมูลจำนวนเต็มที่น้อยที่สุด
คุณยังสามารถพูดได้ว่าบูลเป็นคำพ้องความหมายสำหรับ tinyint(1) ให้เราสร้างตารางตัวอย่างก่อน:
mysql> สร้างตาราง boolToTinyIntDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20), -> isAgeGreaterThan18 bool -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (1.02 วินาที)
ให้เราตรวจสอบคำอธิบายของตาราง:
mysql> desc boolToTinyIntDemo;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
<ก่อนหน้า>+--------------------+-------------+------+---- ------------------------+----------------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+--------------------+-------------+------+----- +----------------------+----------------+| รหัส | int(11) | ไม่ | PRI | NULL | auto_increment || ชื่อ | varchar(20) | ใช่ | | NULL | || isAgeGreaterThan18 | Tinyint(1) | ใช่ | | NULL | |+--------------------+-------------+------+----+ ---------+----------------+3 แถวในชุด (0.00 วินาที)ดูเอาต์พุตตัวอย่างด้านบน คอลัมน์ประเภทข้อมูล isAgeGreaterThan18 จะถูกแปลงจาก bool เป็น tinyint(1) ภายใน
ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก:
mysql> แทรกลงใน boolToTinyIntDemo(Name,isAgeGreaterThan18) ค่า ('Larry',true);Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงใน boolToTinyIntDemo(Name,isAgeGreaterThan18) ค่า ('Sam',false);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงระเบียนจากตารางโดยใช้คำสั่ง select:
mysql> เลือก *จาก boolToTinyIntDemo;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
<ก่อนหน้า>+----+-------+--------------------+| รหัส | ชื่อ | isAgeGreaterThan18 |+----+-------+--------------------+| 1 | แลร์รี่ | 1 || 2 | แซม | 0 |+----+-------+--------------------+2 แถวในชุด (0.00 วินาที)