方括号处或附近的错误 - Postgres
Error at or near square brackets - Postgres
我正在尝试 运行 一个 PostgreSQL 查询,它是:
insert into client (email, name) values ('johndoe@email.com', 'johnDoe');
insert into client_settings (client_id, data) values (currval('client_id_seq'), 0);
insert into client_verify (client_id, dataFields) values (currval('client_id_seq'), json_build_object('data1', ['a1', 'a2'], 'data2', ['b1', 'b2']) );
但我收到一条错误消息,指出 SQL 错误 [42601]:“[”处或附近的语法错误。
最后一个 json 对象(即 dataFields)插入数据库时应该如下所示:
{"data1": ["a1", "a2"], "data2": ["b1", "b2"]}
不确定我做错了什么。有没有我遗漏的东西或不同的方法?
这是你需要的吗:
insert into client_verify (client_id, dataFields)
values (currval('client_id_seq'), json_build_object('data1', 'a1, a2', 'data2', 'b1, b2') );
请试试这个:
insert into client_verify (client_id, dataFields)
values (currval('client_id_seq')
, json_build_object('data1', '["a1", "a2"]', 'data2', '["b1", "b2"]'));
在这里你可以检查你需要如何添加你的字符串:
https://www.freeformatter.com/json-escape.html#ad-output
UNESCAPE 是您需要的选项
这是一个演示:
经过充分研究,我 found documentation 将 'Array' 放在像这样的人前面:
json_build_object('data1', Array['a1', 'a2'], 'data2', Array['b1', 'b2'])
我正在尝试 运行 一个 PostgreSQL 查询,它是:
insert into client (email, name) values ('johndoe@email.com', 'johnDoe');
insert into client_settings (client_id, data) values (currval('client_id_seq'), 0);
insert into client_verify (client_id, dataFields) values (currval('client_id_seq'), json_build_object('data1', ['a1', 'a2'], 'data2', ['b1', 'b2']) );
但我收到一条错误消息,指出 SQL 错误 [42601]:“[”处或附近的语法错误。
最后一个 json 对象(即 dataFields)插入数据库时应该如下所示:
{"data1": ["a1", "a2"], "data2": ["b1", "b2"]}
不确定我做错了什么。有没有我遗漏的东西或不同的方法?
这是你需要的吗:
insert into client_verify (client_id, dataFields)
values (currval('client_id_seq'), json_build_object('data1', 'a1, a2', 'data2', 'b1, b2') );
请试试这个:
insert into client_verify (client_id, dataFields)
values (currval('client_id_seq')
, json_build_object('data1', '["a1", "a2"]', 'data2', '["b1", "b2"]'));
在这里你可以检查你需要如何添加你的字符串: https://www.freeformatter.com/json-escape.html#ad-output
UNESCAPE 是您需要的选项
这是一个演示:
经过充分研究,我 found documentation 将 'Array' 放在像这样的人前面:
json_build_object('data1', Array['a1', 'a2'], 'data2', Array['b1', 'b2'])