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

Vic*_*cky 3 sql db2

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

PRODUCT_ID
ADDED_DT
PRODUCT_NAME
PRODUCT_COLOR
PRODUCT_PRICE
EXPIRY_DT
Run Code Online (Sandbox Code Playgroud)

在这些列中,以下列构成主键:

PRODUCT_ID
ADDED_DT
Run Code Online (Sandbox Code Playgroud)

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

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

ALTER TABLE MY_TABLE ADD PRIMARY KEY (EXPIRY_DT);
REORG TABLE MY_TABLE;
Run Code Online (Sandbox Code Playgroud)

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

Table "MY_TABLE" already has a "PRIMARY" key.
Run Code Online (Sandbox Code Playgroud)

如何实现这一目标?

and*_*ndy 9

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

ALTER TABLE Table_Name DROP PRIMARY KEY;

ALTER TABLE Table_Name ADD PRIMARY KEY (Column_One, Column_Two);
Run Code Online (Sandbox Code Playgroud)