0/1可以灵活,并且可以在将来添加诸如“2,3,4”之类的选项。
MySQL中的TINYINT
占用的空间多于布尔值吗?
就个人而言,我使用0和1作为一切。
您可以在常规编程(或MySQL,无论您喜欢哪种)的上下文中回答这个问题。
答案 0 :(得分:7)
任何有价值的数据库系统都会将boolean转换为适合数据库的东西,并使用实际的布尔类型使编程更好。
答案 1 :(得分:1)
布尔值在不同的数据库(例如PostgreSQL)中更具可移植性。 Tinyint更灵活,可升级为Enum-like。
最终的选择应该是你的。 但除了SQL之外的任何地方我都肯定会推荐明显的“魔法数字”Booleans / Enums,以保证清晰度和类型安全。
答案 2 :(得分:1)
当我完全确定我需要一个值的true / false时,我将在我的代码中使用boolean类型。对于其他情况,通常从0/1开始是很方便的,因为0可以作为成功的返回代码,任何其他正或负整数可以定义各种错误条件。
答案 3 :(得分:0)
如果您使用任何语言做出真/假决定,如果您的语言支持布尔值,请使用它。
使用0/1支持“额外数字”可能意味着您的字段不是决策,可能是或成为多个选择。