使用现有主键在DB2中添加现有列作为主键

时间:2013-03-01 06:50:25

标签: sql db2

我在DB2中有一个包含多个列的表MY_TABLE:

PRODUCT_ID
ADDED_DT
PRODUCT_NAME
PRODUCT_COLOR
PRODUCT_PRICE
EXPIRY_DT

在这些列中,下面的列构成了主键:

PRODUCT_ID
ADDED_DT

我想将EXPIRY_DT添加为主键,以便该表现在有三个主键即。 PRODUCT_ID,ADDED_DT和EXPIRY_DT

我尝试了下面的一组命令:

ALTER TABLE MY_TABLE ADD PRIMARY KEY (EXPIRY_DT);
REORG TABLE MY_TABLE;

但是,查询失败并显示错误:

Table "MY_TABLE" already has a "PRIMARY" key.

如何实现这一目标?

1 个答案:

答案 0 :(得分:9)

首先,您需要删除现有的主键,然后添加新的主键

ALTER TABLE Table_Name DROP PRIMARY KEY;

ALTER TABLE Table_Name ADD PRIMARY KEY (Column_One, Column_Two);