子表中的外键(单列)是否不可能引用具有重复值的父键?
最佳答案
根据 SQL 标准,外键必须引用父表的主键或唯一键。如果主键有多列,则外键必须具有相同的列数和顺序。因此,外键引用父表中的唯一行;不能有重复。
<小时/>回复您的评论:
如果 T.A
是主键,则不能有任何重复项。任何主键都必须是唯一且非空的。因此,如果子表有一个引用父表主键的外键,它必须匹配一个非空、唯一的值,因此恰好引用父表中的一行。在这种情况下,您无法创建引用多个父行的子行。
您可以创建一个外键列为 NULL 的子行,在这种情况下,它不会引用父表中的任何行。
关于oracle - 外键是否总是引用另一个表中的唯一键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8706073/