我有一个表(a),该表应具有一列“ user_id”,这是其他表(b)或(c)的外键。
因此,它指向表b或c(仅一个,而不是两个)。

在MySQL中甚至可能吗?我能想到的最好的方法是跟踪(但是正如您所看到的,我的“ a”表中有两次“ user_id”,这不是很好,因为两个值之一始终为空。

mysql - MySQL:是否可以对两个不同的表列创建外键?-LMLPHP

非常感谢你!

最佳答案

嗨,这被称为多态关联,您不能使用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/

10-09 15:53
查看更多