【发布时间】:2015-03-01 07:22:33
【问题描述】:
我有三个表:A、B、C。表 C 有两个 FK,分别指向 A id 和 B id。
当我尝试在 C 中插入一些东西时,如果我用有效 ID 填充指向 A 的 FK 列并让 B 表的 FK 为空或 null 或零,MYSQL 会抛出错误,指出我有另一个 FK 要填充。
这个问题的最佳解决方案是什么?
我在想有两个 C 表是可以的,一个用于 A,另一个用于 B:C_A、C_B,每个表中只有一个 FK。
我必须考虑到我也在使用 Hibernate JPA,我的解决方案可以正常工作。但这意味着多了一个具有相同角色的表。
你对这个问题有什么看法?
【问题讨论】:
-
FK 可以为空如果它们被配置为允许空值。实际上发布表的完整定义是必需的,否则人们不得不猜测
标签: mysql database spring hibernate jpa