重命名 DB2 中的列 [英] Rename column in DB2
问题描述
我正在尝试重命名一个数据已存在的表中的列.但下面是它抛出的错误.请指教.
I am trying to rename a column in one table where data already exists. But below is the error it is throwing.Please advice.
我尝试过的语法
ALTER TABLE TPR.PRODUCT_FEATURE RENAME COLUMN PRODUCT_ID TO SERVICE_ID
错误:
[错误] 脚本行:23-23 ------------无法处理对象类型COLUMN"上的 DROP、ALTER、TRANSFER OWNERSHIP、REVOKE 或 CREATE OR REPLACE,因为存在类型为PRIMARY KEY"的对象PRODUCT_FEATURE_X01",这取决于它. SQLCODE=-478, SQLSTATE=42893,驱动程序=3.67.28
[Error] Script lines: 23-23 ------------------------ DROP, ALTER, TRANSFER OWNERSHIP, REVOKE, or CREATE OR REPLACE on object type "COLUMN" cannot be processed because there is an object "PRODUCT_FEATURE_X01", of type "PRIMARY KEY", which depends on it.. SQLCODE=-478, SQLSTATE=42893, DRIVER=3.67.28
看起来,我需要放弃并重新创建是唯一的选择.请指教.
Looks me to, I need to drop and recreate is the only option. Please advice.
推荐答案
放弃约束:
ALTER TABLE TPR.PRODUCT_FEATURE
DROP CONSTRAINT PRODUCT_FEATURE_X01
然后改变你的桌子:
ALTER TABLE TPR.PRODUCT_FEATURE RENAME COLUMN PRODUCT_ID TO SERVICE_ID
然后添加新的约束:
ALTER TABLE TPR.PRODUCT_FEATURE
ADD CONSTRAINT PRODUCT_FEATURE_X01
PRIMARY KEY (insert,columns,here)
这篇关于重命名 DB2 中的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!