我有一个自定义类型“nameage”和一个表“nameages”。
CREATE TYPE nameage AS(
name_ varchar(50),
age smallint
);
CREATE TABLE namesages(
id serial,
namesandages nameage[]
);
INSERT INTO namesages(namesandages) VALUES(ARRAY[['john', 24],['david', 38]]::nameage[]);
为什么这个查询会出错?(二)
ERROR: malformed record literal: "john"
LINE 1: insert into namesages(namesandages) values(ARRAY[['john', 24...
^
DETAIL: Missing left parenthesis.
********** Error **********
最佳答案
你的意思是:
INSERT INTO namesages(namesandages)
VALUES(ARRAY[ROW('john', 24),ROW('david', 38)]::nameage[]);
这将创建用户定义的复合类型的一维数组。我不确定当你定义二维数组时你打算做什么…
关于database - 将自定义类型数组插入postgresql-9.4中的表列中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33580705/