3个表的复合主键XOR引用

时间:2015-07-15 22:07:24

标签: mysql primary-key

表格日历可与公司会计师相关联。 日历中的一行专属(XOR)与会计到comapny。

我在日历(快照2)上创建复合PK以引用任一表,但不能同时引用两者。 (一个日历条目完全属于公司的会计师):

Snapshot1:

snapshot 1

Snapshot2:

snapshot 2

我的问题是,我如何正确地做到这一点,以保持参考完整性?

calendar --> accountants
calendar --> companies

1 个答案:

答案 0 :(得分:0)

据我所知,MySQL中没有可用的限制来强制只引用公司xor会计师。

但是,您可以使用BEFORE INSERT和BEFORE UPDATE触发器来拦截可能违反约束的值,并修改它们;也许将两个引用设置为null,优先于另一个,设置一些“需要注意,错误输入”字段等...