Wil*_*ill 5 mysql database-design
在设计我的数据库时,我意识到我将一些布尔值保留为 NOT NULL,而另一些则默认为 NULL。什么时候允许布尔值可以为空的经验法则是什么?由于我拥有的布尔值都是 is_SOMETHING,我认为它们永远不应该为 NULL,因为它们要么被归类为 SOMETHING,要么不被归类。
遗憾的是,如果您不指定,SQL 默认将所有列视为可为空NOT NULL。NOT NULL可以说,属性更常见的是需要一个值而不是 null,因此如果将 SQL 定义为将属性视为默认值而不是相反,那就太好了。
在您的情况下,我认为该属性应该是,NOT NULL除非您需要表示“未指定”或“不适用”的情况,这就是 NULL 的用途。
根据您的描述我们无法回答这个问题。这取决于您的项目的用途和要求。
NOT NULL甚至有可能在同一个数据库中,您的某些布尔值应该可以为空,而其他布尔值应该可以为空!
一个NULL布尔值有三个可能的值: true,false,和null。一个NOT NULL布尔值只有两个,true和false。您的应用程序逻辑必须足以告诉您哪个是正确的选择。
| 归档时间: |
|
| 查看次数: |
3966 次 |
| 最近记录: |