如何在我的表中使两个属性可以为空,同时其中一个属性应该有一个值。
例如: 我在表X中有属性A和属性B, A和B允许空值但是如果空B不应该为空,反之亦然。
答案 0 :(得分:1)
MySQL并没有真正实现约束。所以,你有两个选择。第一种是使用触发器实现逻辑,由于其复杂性,我不建议这样做。
第二个是存储有两列:AttributeType
和AttributeValue
。 AttributeType
将是“A”或“B”,值将是关联值。如果您想确保AttributeType
仅使用这两个值,那么您可以使用enum
。