我有一个表(a),该表应具有一列“ user_id”,这是其他表(b)或(c)的外键。
因此,它指向表b或c(仅一个,而不是两个)。
在MySQL中甚至可能吗?我能想到的最好的方法是跟踪(但是正如您所看到的,我的“ a”表中有两次“ user_id”,这不是很好,因为两个值之一始终为空。
非常感谢你!
最佳答案
嗨,这被称为多态关联,您不能使用MySql外键约束来强制实施它。
为了使userId_a为null或user_id_b为null,您可以创建检查约束
CONSTRAINT CHECK (user_id_a IS NOT NULL OR user_id_b IS NOT NULL)
关于mysql - MySQL:是否可以对两个不同的表列创建外键?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39022046/