本问题已经有最佳答案,请猛点这里访问。
0/1可以是灵活的,将来可以添加"2、3、4"等选项。
mysql中的TINYINT比boolean占用更多空间吗?
就我个人而言,每件事都用0和1。
您可以在常规编程(或MySQL,无论您喜欢什么)的上下文中回答这个问题。
上下文是mysql?
等等,如果您基本上希望0/1作为一个布尔值,那么还有什么其他的选项呢?文件找到了?dailywtf.com/articles/what_is_Truth_x3f_ux(什么是真相)
任何有价值的数据库系统都会将布尔值转换为与数据库相适应的值,并且使用实际的布尔值类型可以更好地对其进行编程。
当我确信我需要一个值为真/假时,我将在代码中使用布尔类型。对于其他情况,通常以0/1开头比较方便,因为0可以作为成功的返回代码,任何其他正整数或负整数都可以定义各种错误条件。
Boolean在不同的数据库(如PostgreSQL)中更易于移植。tinyint更灵活,可以升级到枚举之类的东西。
最后的选择应该是你的。但是除了SQL之外的任何地方,为了清晰和类型安全,我绝对推荐显式布尔/枚举胜过"幻数"。
如果您在任何语言中做出了正确/错误的决定,如果您的语言支持布尔值,那么就使用它。
使用0/1来支持"多余的数字"可能意味着您的字段不是一个决定,可能是或成为多个选择。