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