重命名 DB2 中的列
Posted
技术标签:
【中文标题】重命名 DB2 中的列【英文标题】:Rename column in DB2 【发布时间】:2017-03-20 13:47:09 【问题描述】:我正在尝试重命名一个数据已存在的表中的列。 但下面是它抛出的错误。请指教。
我尝试过的语法
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
看起来,我需要放弃并重新创建是唯一的选择。请指教。
【问题讨论】:
今日提示:随时准备好脚本文件以轻松重新创建数据库! 【参考方案1】:删除约束:
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)
【讨论】:
谢谢。如何更改长度并计划将新值添加到同一列(Varchar(5) 到 Varchar (20)。ALTER TABLE TPR.PRODUCT_FEATURE RENAME COLUMN PRODUCT_ID TO SERVICE_ID 您可以使用ALTER TABLE TPR.PRODUCT_FEATURE ALTER COLUMN SERVICE_ID SET DATA TYPE VARCHAR(20)
执行此操作(假设您已将其重命名为SERVICE_ID)以上是关于重命名 DB2 中的列的主要内容,如果未能解决你的问题,请参考以下文章