SQL:两个可以为空的属性,其中一个应该有值

时间:2015-04-06 20:00:36

标签: mysql sql database

如何在我的表中使两个属性可以为空,同时其中一个属性应该有一个值。

例如: 我在表X中有属性A和属性B, A和B允许空值但是如果空B不应该为空,反之亦然。

1 个答案:

答案 0 :(得分:1)

MySQL并没有真正实现约束。所以,你有两个选择。第一种是使用触发器实现逻辑,由于其复杂性,我不建议这样做。

第二个是存储有两列:AttributeTypeAttributeValueAttributeType将是“A”或“B”,值将是关联值。如果您想确保AttributeType仅使用这两个值,那么您可以使用enum