เนื่องจาก MySQL ดูเหมือนจะไม่มีประเภทข้อมูล 'บูลีน' คุณใช้ 'data' ในการเก็บข้อมูลจริง / เท็จใน MySQL หรือไม่
โดยเฉพาะอย่างยิ่งในบริบทของการเขียนและการอ่านจาก / ถึงสคริปต์ PHP
เมื่อเวลาผ่านไปฉันได้ใช้และเห็นหลายวิธี:
- tinyint, varchar field ที่มีค่า 0/1,
- เขตข้อมูล varchar มีสตริง '0' / '1' หรือ 'true' / 'false'
- และในที่สุด Enum ฟิลด์ที่มีสองตัวเลือก 'จริง' / 'เท็จ'
ไม่มีสิ่งใดที่เหมาะสม ฉันมักจะชอบตัวแปรจิ๋ว 0/1 เนื่องจากการแปลงชนิดอัตโนมัติใน PHP ให้ค่าบูลีนแทน
ดังนั้นคุณใช้ชนิดข้อมูลใด มีประเภทที่ออกแบบมาสำหรับค่าบูลีนที่ฉันมองข้ามไปหรือไม่? คุณเห็นข้อดี / ข้อเสียใด ๆ โดยการใช้งานประเภทใดประเภทหนึ่งหรือไม่?
bit(1)
เป็นบิต ** เพื่อนำเข้าใน Excel สลับไปใช้tinyint(1)
งานได้