Db2 添加一个主键和一个外键将总共添加四个键

Db2 添加一个主键和一个外键将总共添加四个键,db2,Db2,我试图改变表,在表中添加一个主键和一个外键。然而,当我运行ALTERTABLE查询时,我总是得到四个值,两个主键和两个外键。以下是我正在运行的查询: alter table INFO add constraint pk主键(ID_编号)add constraint fk外键(REV_编号)参考REVIEW_INFO 其结果集如下所示: CONSTNAME类型COLNAME FK F版本号 PK P版本号 FK F ID_编号 PK P ID_编号 我正在运行SYSCAT.TABCONST以查找

我试图改变表,在表中添加一个主键和一个外键。然而,当我运行ALTERTABLE查询时,我总是得到四个值,两个主键和两个外键。以下是我正在运行的查询:

alter table INFO add constraint pk主键(ID_编号)add constraint fk外键(REV_编号)参考REVIEW_INFO

其结果集如下所示:

CONSTNAME类型COLNAME


FK F版本号
PK P版本号
FK F ID_编号
PK P ID_编号

我正在运行SYSCAT.TABCONST以查找约束详细信息


请帮助我找出查询出错的地方。

您确定没有意外地运行查询两次吗?

您的ALTER TABLE语句向SYSCAT.TABCONST添加了两行。另外两个约束存在于数据库中的其他表上,并且在执行ALTER table语句之前就存在了。如果包含SYSCAT.TABCONST中的TABNAME列,则可以确定每个约束适用于哪个表

我们可以根据您的结果推断出一些信息:

CONSTNAME TYPE COLNAME
--------- ---- -------------
FK        F    REV_NUMBER      <-- Created by your ALTER TABLE statement
PK        P    REV_NUMBER      <-- Pre-existing primary key.  Probably on REVIEW_INFO table 
FK        F    ID_NUMBER       <-- Pre-existing foreign key, against unknown table.
PK        P    ID_NUMBER       <-- Created by your ALTER TABLE statement
CONSTNAME类型COLNAME
--------- ---- -------------

FK F版本号为什么要标记此代码?