将两列限制为两个字段必须具有数据或两个字段必须为NULL

时间:2015-05-12 20:05:18

标签: mysql sql

我已尽力尽职尽责并寻求解决此问题的方法,但我找不到适合这个特定用例的答案。

我在表格中有两列用于订单:Packaged_ByPackaged_Time。两者都初始化为NULL字段。

我想要的是什么:我希望两个字段都是1)具有不是NULL的值,或者2)将这两个字段保留为NULL

我不想要的内容:我不希望有一个列有一个值但另一列保持NULL的情况。这真的搞砸了我的数据库完整性。

不幸的是,我无法通过独特的约束来弄清楚如何做到这一点。

我的问题:我是否可以使用约束强制两个字段同时具有数据或NULL值?是否可以使用触发器来实现此目的?我错过了什么?

任何指导或指示都将不胜感激。谢谢。

编辑:我正在使用MySQL。

1 个答案:

答案 0 :(得分:2)

That design violates Second Normal Form. The way you're supposed to handle it is to create a second table including your two non-nullable data fields and a foreign key to your original table.