我应该使用0/1还是True / False布尔值?

时间:2009-11-13 21:10:20

标签: mysql variables types boolean

0/1可以灵活,并且可以在将来添加诸如“2,3,4”之类的选项。

MySQL中的TINYINT占用的空间多于布尔值吗?

就个人而言,我使用0和1作为一切。

您可以在常规编程(或MySQL,无论您喜欢哪种)的上下文中回答这个问题。

4 个答案:

答案 0 :(得分:7)

任何有价值的数据库系统都会将boolean转换为适合数据库的东西,并使用实际的布尔类型使编程更好。

答案 1 :(得分:1)

布尔值在不同的数据库(例如PostgreSQL)中更具可移植性。 Tinyint更灵活,可升级为Enum-like。

最终的选择应该是你的。 但除了SQL之外的任何地方我都肯定会推荐明显的“魔法数字”Booleans / Enums,以保证清晰度和类型安全。

答案 2 :(得分:1)

当我完全确定我需要一个值的true / false时,我将在我的代码中使用boolean类型。对于其他情况,通常从0/1开始是很方便的,因为0可以作为成功的返回代码,任何其他正或负整数可以定义各种错误条件。

答案 3 :(得分:0)

如果您使用任何语言做出真/假决定,如果您的语言支持布尔值,请使用它。

使用0/1支持“额外数字”可能意味着您的字段不是决策,可能是或成为多个选择。