0

我有一个具有以下结构的表 A

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

4

1 回答 1

1

我认为您缺少对数据的基本理解。有重复是什么意思?如果你真的认为合约 ID 应该是唯一的,而事实并非如此,那么你就有了数据问题(以及任何将数据放在那里的软件中的错误)。如果重复是好的那是什么意思?

当然你可以添加一个身份并链接到它,但这并不能解决你的实际问题 - 你最终会回到这里询问为什么你为给定的合同获得了太多的行!

因此,第一步是了解您的数据。然后根据需要进行清洁。只有这样,您才能将所有的 PK 和 FK 约束放置在正确的位置,其中任何列都是有意义的。

于 2013-10-14T06:01:38.607 回答