我在 Postgres 工作。我有以下复合类型
CREATE TYPE negotiation.diff_type AS (
operation int,
content text
);
下面是我的桌子
CREATE temp TABLE temp_input (indication_request_id int, para_id int, line_number int, document_id int, modified_content text, created_by text, diffs diff_type[]);
在表中我使用 diffs 复合类型。
下面我正在向表中插入数据。
INSERT INTO temp_input (myid, para_id, line_number, document_id,modified_content,created_by, diffs)
values (20,2893,10,18,'my content','user1', '{(1,"DDD")"}');
这给了我一个错误
错误:格式错误的数组文字:“{(1,”DDD”)”}”
您需要用引号将数组的每个元素括起来,然后对复杂类型的文字内的引号进行转义:
INSERT INTO temp_input
(indication_request_id, para_id, line_number, document_id,modified_content,created_by, diffs)
VALUES (20,2893,10,18,'my content','user1', '{"(1,\"DDD\")"}');