具有重复项且没有主键的外键

时间:2013-10-14 05:32:53

标签: mysql sql

我有一张结构如下的表格

Contract_ID     Parent_Contarct_ID      Client_ID
--------------------------------------------------
CON_001         CON_001                 CLNT_20001
CON_002         CON_002                 CLNT_20002
CON_003         CON_003                 CLNT_20003
CON_004         CON_004                 CLNT_20004

此处Contract_ID有重复项,因此我无法创建主键或唯一键。

但是我需要在其他一些表中引用这个contract_ID。如果我没有创建外键,如何引用?

我正在使用mysql

1 个答案:

答案 0 :(得分:1)

我认为你错过了对数据的有趣理解。重复有什么意义?如果你真的认为合同ID应该是唯一的而不是那么你就会遇到数据问题(并且任何软件都会将数据放在那里)。如果重复是好的,那意味着什么?

当然你可以添加一个标识并链接到那个,但这无法解决你的实际问题 - 你最后会回到这里,询问为什么你会为给定的合同获得太多的行!

因此,第一步是了解您的数据。然后在必要时清洁它。只有这样你才能把你所有的PK& FK约束在正确的位置与任何列有意义。