Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon redshift 有没有一种方法可以在不更改列顺序的情况下更改列的数据类型?_Amazon Redshift - Fatal编程技术网

Amazon redshift 有没有一种方法可以在不更改列顺序的情况下更改列的数据类型?

Amazon redshift 有没有一种方法可以在不更改列顺序的情况下更改列的数据类型?,amazon-redshift,Amazon Redshift,我有一列要在其中更改数据类型。我目前正在使用红移。我知道我可以使用ALTERTABLE语句来更改数据类型,但这会更改列的顺序 有没有一种方法可以在不更改列顺序的情况下更改数据类型?我建议使用所需的架构创建一个新表,并使用insert into new_table select*from old_table语句从旧表复制它。在这里,您还可以对新数据类型执行任何强制转换,之后,可以删除旧表并重命名新表: drop table old_table; alter table new_table rena

我有一列要在其中更改数据类型。我目前正在使用红移。我知道我可以使用ALTERTABLE语句来更改数据类型,但这会更改列的顺序


有没有一种方法可以在不更改列顺序的情况下更改数据类型?

我建议使用所需的架构创建一个新表,并使用insert into new_table select*from old_table语句从旧表复制它。在这里,您还可以对新数据类型执行任何强制转换,之后,可以删除旧表并重命名新表:

drop table old_table;
alter table new_table rename to old_table;
使用ALTER TABLE TABLE\ U name ALTER COLUMN\ U name TYPE new\ U data\ U TYPE不会更改表中列的顺序

请注意,此子句只能更改定义为VARCHAR数据类型的列的大小。 中还描述了其他限制