我正在尝试使用复合PK创建一个FK,这里是我想要实现的细节。
Table -A
Column A1
Column A2
Primary key (A1, A2).
Table -B
Column B1 Primary key.
Column B2
FK (B2) References A(A1).
当我尝试这样做时,我遇到了一些错误。
问题: 首先是这可能吗?如果是,那么我该如何创建呢?
答案 0 :(得分:0)
当某些列的子行值始终显示为某些唯一(PRIMARY KEY或UNIQUE NON NULL)列的子行值时,将声明外键。 A(A1)并不是唯一的,所以你不能想要一个FK。你想要的桌面约束是什么?如果A(A1)是唯一的,则声明它。如果B(B2)总是在该列中,则声明FK B(B2)引用A(A1)。如果A(A1)不是唯一的并且您希望B(B2)在其中,那么您必须通过其他方式(如触发器)进行约束。或许你应该有一个不同的架构。