postgres:插入自定义类型的数组
postgres: inserting array of custom type
我有:
CREATE TYPE Person AS (given_name VARCHAR,
family_name VARCHAR);
CREATE TYPE Contributors AS (directors person[],
actors person[]) ;
CREATE TABLE Catalogue (id serial, contributors Contributors)
我想将以下数组文字插入到目录 table 的 contributors
字段中:
({},{(Song,Kang-ho),(Omar,Sharif)})
通过 JDBC Driver's PGobject 值,但我很难做到。
我遇到过这个 ,我有点理解这个问题。
我尝试了以下方法:
({}, "{(Song,Kang-ho),(Omar,Sharif)}")
但我得到了:
ERROR: malformed record literal: "(Song" Detail: Unexpected end of input.
所以我尝试了:
'({},"{(Song,Kang-ho),(Omar,Sharif)}")'
还有:
'({},"{'(Song,Kang-ho)','(Omar,Sharif)'}")'
但是我得到这个错误:
ERROR: malformed record literal: .... Detail: Missing left parenthesis.
用于数组文字内的嵌套行字段的语法是什么?
很难弄清楚你到底在尝试什么,因为你只展示了陈述的一部分,而且不清楚你展示的部分在整体中的位置。
这个有效:
insert into catalogue values (1,('{}', '{"(Song,Kang-ho)","(Omar,Sharif)"}'));
这也是:
insert into catalogue values (1,'({},"{""(Song,Kang-ho)"",""(Omar,Sharif)""}")');
我有:
CREATE TYPE Person AS (given_name VARCHAR,
family_name VARCHAR);
CREATE TYPE Contributors AS (directors person[],
actors person[]) ;
CREATE TABLE Catalogue (id serial, contributors Contributors)
我想将以下数组文字插入到目录 table 的 contributors
字段中:
({},{(Song,Kang-ho),(Omar,Sharif)})
通过 JDBC Driver's PGobject 值,但我很难做到。
我遇到过这个
我尝试了以下方法:
({}, "{(Song,Kang-ho),(Omar,Sharif)}")
但我得到了:
ERROR: malformed record literal: "(Song" Detail: Unexpected end of input.
所以我尝试了:
'({},"{(Song,Kang-ho),(Omar,Sharif)}")'
还有:
'({},"{'(Song,Kang-ho)','(Omar,Sharif)'}")'
但是我得到这个错误:
ERROR: malformed record literal: .... Detail: Missing left parenthesis.
用于数组文字内的嵌套行字段的语法是什么?
很难弄清楚你到底在尝试什么,因为你只展示了陈述的一部分,而且不清楚你展示的部分在整体中的位置。
这个有效:
insert into catalogue values (1,('{}', '{"(Song,Kang-ho)","(Omar,Sharif)"}'));
这也是:
insert into catalogue values (1,'({},"{""(Song,Kang-ho)"",""(Omar,Sharif)""}")');