null而不是null mysql

时间:2011-11-07 19:54:20

标签: mysql sql null notnull

您好我已经开始将访问权限移到mysql中了,我想知道是否存在约束或者我可以用来创建不是null的列并且仍然有空值的东西?

这不是我自己的数据库,如果是,我只需填写空字段,然后将列更改为null

1 个答案:

答案 0 :(得分:1)

是的,有各种方法可以在不使用空值的情况下对缺失信息进行建模。

您可以选择一个值来表示缺失。这很难实现,所以这里有几个例子。对于开放期间的end_date属性(即已开始但正在进行但尚未完成),请使用远期日期,例如9999-12-31。对于person_middle_name attributte,Joe Celko建议将元数据值放在双花括号中,例如{{NK}}表示“未知”,{{NA}}表示“不适用”等。

另一种用于对缺失信息进行建模的直观方法是表中没有行。如果员工没有薪水,则不要在Payroll表中为他们添加一行,从而使他们与当前没有收到salary_amountPayroll代表的薪水的员工不同。 1}}表。

另一种方法是在表格中存在一行。您可以拥有SalariedUnsalariedSalaryUnknown的表,并确保每个员工在其中一个表中只有一行(可能在MySQL中使用触发器和/或过程强制执行)。