【发布时间】:2020-11-16 18:03:21
【问题描述】:
如何在 Postgres 中的 jsonb 列内没有空约束。
我创建了一个 Postgres 表,其中只有一个名为 id 的列,如下所示
create table tablea (
id jsonb,
check
((id->>'test1', id->>'test2') != (null, null))
);
调用者会将数据插入到表中,格式如下:-
[
{
"test1":"",
"test2":"",
"test3":""
},
{
"test1":"",
"test2":"",
"test3":""
}
]
我的目标是当调用者在 id 列中插入数据时,我希望键 test1 和 test2 不为空。怎么能做到这一点。上面解释了我的表创建逻辑。我正在尝试插入数据,例如
insert into tablea(id) values
('[{"test1":null,"test2":"a","test3":""}]');
理想情况下,这个插入语句应该会引发错误,但它是在表中插入数据。谁能帮帮我
【问题讨论】:
标签: arrays postgresql jsonb check-constraints