如何更改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/