重命名 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 中的列的主要内容,如果未能解决你的问题,请参考以下文章

用名称中的句点重命名clickhouse中的列

数据透视表列重命名

在Python中基于csv重命名文件中的图像

重命名 MySQL 中的列

重命名 dplyr 中的列时的整洁评估

为啥我重命名后无法访问 pandas 中的列? [复制]