我是新来的。我想在Postgres中将我的一个列数据类型从bytea[]更改为bytea。我尝试了以下查询,但它给出了错误信息:

ALTER TABLE table_name
ALTER COLUMN COLUMN_NAME TYPE bytea USING COLUMN_NAME::bytea;

有人知道怎么做吗?

最佳答案

这取决于要保存数组中的多少元素。如果足以保存第一个元素:

alter table table_name alter column_name type bytea using column_name[1];

或者可以连接两个前元素:
alter table table_name alter column_name type bytea using column_name[1] || column_name[2];

要转换原始列的所有元素,您需要创建一个函数,该函数连接未知数量的数组元素。

关于arrays - 如何在PostgreSQL中将数据类型从bytea []更改为column的bytea?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59044328/

10-11 05:52