有趣的是,MySQL使用整数索引枚举。自1999年以来,SQL标准已经包含了布尔数据类型 - 有效值为true、false、unknown或null。但不同数据库系统的实现情况参差不齐。MySQL不支持真正的布尔数据类型 - BOOLEAN映射到TINYINT,只占用1个字节。MySQL将0解释为false,其他所有数字都是true。
一个最多有8个值的枚举类型可以存储在一个字节中。一个 tinyint 也可以被存储在整数中,所以它们没有区别。MySQL 不支持布尔类型,因此人们使用其中的任一选项,以获得更好的性能等。这并不影响结果。