我有一个名为的现有表Persion
。在此表中,我有5列:
- persionId
- 名称
- PMid
- 说明
- 帕姆特
当我创造了这个表,我设置PersionId
和Pname
作为主键。
我现在想在主键-PMID中再增加一列。我该如何写ALTER
声明来做到这一点?(表中已经有1000条记录)
确实,这是一个非常糟糕的主意。您的PK会显示在“ persionId”上,就是这样
—
Patrick Honorez,2015年
我认为表中只有一列应设置为主键?
—
CHarris
@ChristopheHarris,有时将多个列用作主键很有意义。一对多或多对多关系表可能会包含2个或多个构成主键的外键列,因为只有知道所有主键的值才可以唯一地标识一条记录列。但是,就OP而言,这确实不是他想要的。
—
克里斯汀·哈马克
@Kristen Hammack即使在M2M关系的情况下,最好使中间表具有单独的主键,然后对两个外键施加唯一的约束。
—
kloddant
personId
在表中重复。反过来,这意味着,如果仅从交易(许多)类型表联接到此键上的该表,您将得到重复的记录,从而导致交易记录的“重复计算”。