Ms *_*lic 7 sql postgresql json sql-insert jsonb
我使用 PostgreSQL 10.11 并且希望将以下结构输入 jsonb 字段:
{
lead: {
name: string,
prep: boolean
},
secondary: {
{
name: string,
prep: boolean
},
{
name: string,
prep: boolean
}
}
Run Code Online (Sandbox Code Playgroud)
因此,lead 是一个带有 name 和 prep 的对象, secondary 是一个包含 name 和 prep 的数组。我怎样才能做到这一点?下面的脚本是创建一个带有 jsonb 字段的表:
CREATE TABLE public.test01 (
name JSONB DEFAULT '{}'::jsonb NOT NULL
)
WITH (oids = false);
ALTER TABLE public.test01
ALTER COLUMN id SET STATISTICS 0;
COMMENT ON COLUMN public.test01.name
IS '''[]''';
ALTER TABLE public.test01
OWNER TO postgres;
Run Code Online (Sandbox Code Playgroud)
我正在尝试此插入但出现错误:
INSERT INTO
public.test01
(
name
)
VALUES
('
{"lead":
"name": "Paint house",
"prep": "yes"}
,
"Secondary":
"name": "John",
"prep", "No"}
}
');
Run Code Online (Sandbox Code Playgroud)
这是我第一次使用 jsonb,因此选择示例也有助于了解如何读取数据。
GMB*_*GMB 12
您的 JSON 格式错误。想必,你的意思是:
INSERT INTO public.test01 (name)
VALUES (
'{
"lead": {
"name": "Paint house",
"prep": "yes"
},
"Secondary": {
"name": "John",
"prep": "No"
}
}'::jsonb);
Run Code Online (Sandbox Code Playgroud)