我以前从未真正使用过 null,我倾向于避免使用它并将其存在于我的数据中。但是我最近设计了这个表(简化):
tblPeopleWhoNeedToCastVotes
User | hasVotedYes
在这种情况下,hasVotedYes 可以为 null、true 或 false。 Null 表示他们尚未投票(有用信息)。
这是不好的做法还是好的?
最佳答案
这正是 NULL 的真正用途 - 数据不可用的地方。来自 Wikipedia :
Null is a special marker used in Structured Query Language (SQL) to indicate that a data value does not exist in the database.
我不建议将它用作一般的“第三个选项”,我会使用 tinyint 并将其映射到代码中的 Enum。但是,对于 Yes/No 和 Unknown,我认为 NULL 可能是最好的方法,因为在数据库中读取 0/1/2 会不太清楚。
关于数据库,使用 null 作为三元选项的不良做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5154123/