如何更改Amazon Redshift数据库中的列数据类型?

我无法在Redshift中更改列数据类型;有什么方法可以修改Amazon Redshift中的数据类型?

最佳答案

ALTER TABLE documentation中所述,您可以使用以下命令更改VARCHAR列的长度

ALTER TABLE table_name
{
    ALTER COLUMN column_name TYPE new_data_type
}

对于其他列类型,我能想到的就是添加具有正确数据类型的新列,然后将旧列中的所有数据插入到新列中,最后删除旧列。

使用类似于以下代码:

ALTER TABLE t1 ADD COLUMN new_column ___correct_column_type___;
UPDATE t1 SET new_column = column;
ALTER TABLE t1 DROP COLUMN column;
ALTER TABLE t1 RENAME COLUMN new_column TO column;

将会发生模式更改-新添加的列将位于表的最后(这可能是COPY语句的问题,请记住这一点-您可以使用COPY定义列顺序)

关于amazon-web-services - 在Amazon Redshift中更改列数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17101918/

10-11 07:17
查看更多