列取决于其他列值

列取决于其他列值,第1张

列取决于其他列值

您可以通过添加类型表来解决此问题(我还希望查找表胜于枚举,甚至更多,因为您想灵活一些并在以后添加更多类型):

ChoiceType---------- --- the lookup tableChoice      DesciptionPRIMARY KEY(Choice)Event-----      --- your tableEventId Choice ... other stuff for all eventsPRIMARY KEY(EventId)FOREIGN KEY (Choice)  REFERENCES ChoiceType(Choice)EventYL -------    --- the YesLater tableEventId EventDate... other stuff for YesLater events onlyPRIMARY KEY(EventId)FOREIGN KEY (EventId)  REFERENCES Event(EventId)

如果您想为其他选择存储不同的数据,则可以添加一个

EventYI
表(用于
Yes Immediate
),一个
EventNO
,等等。

此设计的唯一问题是,没有什么可以阻止不

'YesLater'
添加到
EventYL
表中的事件,因此应以其他方式强制执行。如果只有MySQL具有检查约束,则可以将该表更改为:

EventYL -------     --- YesLater version 2EventId ChoiceEventDatePRIMARY KEY(EventId, Choice)FOREIGN KEY (EventId, Choice)  REFERENCES Event(EventId, Choice)CHECK (Choice = 'YL')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5040627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存