我在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.
如何实现这一目标?
答案 0 :(得分:9)
首先,您需要删除现有的主键,然后添加新的主键
ALTER TABLE Table_Name DROP PRIMARY KEY;
ALTER TABLE Table_Name ADD PRIMARY KEY (Column_One, Column_Two);