由于 MySQL 似乎没有任何“布尔”数据类型,您“滥用”哪种数据类型在 MySQL 中存储真/假信息?
特别是在编写和读取 PHP 脚本的上下文中。
随着时间的推移,我使用并看到了几种方法:
- tinyint,包含值 0/1 的 varchar 字段,
- 包含字符串 '0'/'1' 或 'true'/'false' 的 varchar 字段
- 最后枚举包含“真”/“假”两个选项的字段。
以上似乎都不是最佳的。我倾向于使用 tinyint 0/1 变体,因为 PHP 中的自动类型转换为我提供了相当简单的布尔值。
那么您使用哪种数据类型?有没有为我忽略的布尔值设计的类型?您是否看到使用一种或另一种类型的任何优点/缺点?