我正在构建一个表来记录消息。我需要注意邮件何时发送以及邮件是否已成功发送。
在ENUM
字段中使用'ready', 'sent', 'delivered'
类型的ENUM
类型优于boolean
字段是否有优点/缺点:
| sent | delivered |
| true | false |
或者它纯粹是一种风格选择?
答案 0 :(得分:1)
在您的示例中,这两组值似乎相互依赖。
例如,如果邮件不是delivered
,则邮件不能为sent
。
使用多个布尔字段可以存储不正确的值组合。
我建议您使用一个字段来存储状态。该字段可以是连接到状态表(discussed frequently)的枚举或整数外键。
话虽如此,如果字段彼此独立,则使用布尔字段是完全可以接受的。