我一直试图解决这个问题,但我找不到解决方案。 我有两个表,即:user,firstdb。 在用户表中我有两个主键,在外键表中我有一个字段,我想让它成为一个外键。 我试图在用户表中将一个字段作为主键,当时关系工作正常,但是一旦我将第二个字段设置为主要字符串,它就迫使我出于某种原因删除现有关系。此外,两个字段都具有相同的数据类型。
答案 0 :(得分:1)
您似乎对主要键的含义有着深刻的误解。主键(单数)是唯一标识每一行的一列或多列(并且没有列是NULL
)。当您通过两列单击“主键”时,您将生成复合主键。
外键引用需要是完整主键。如果您有复合主键,则需要复合外键。
具有单列外键引用是最佳类型的主键是标识列的一个原因。我猜测userid
就是这样一个专栏。
如果希望uEmailId
是唯一且非NULL,则将其定义为唯一且非NULL。但是,不要将它添加到主键!