我有一个自定义类型“nameage”和一个表“namesages”。
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/