如何在这个复杂的情况下使mysql中的表之间建立关系?

表A包含引用“其他三个表(B,C,D)之一的记录”的数据

我怎样才能建立他们之间的关系?

最简单的方法是定义一个列’reference_id’来引用id(记录)和一个列表,它引用这三个表中的一个并用“if conditions”连接到目标记录,但我认为必须有处理这种情况的更好方法. 最佳答案 这个问题有三种解决方案.

您已经提到的使用参考列的一个.
第二个解决方案是在罗马提到的应用程序级别中执行此操作.
另一个是在表A中有三列,每列用于(B,C,D).
当它引用表B中的记录时,填充b_id列并将c_id和d_id设置为null.这样你也可以使用外键.

点赞