PostgreSQL:非空 JSON 对象的 CHECK 约束

标签 postgresql constraints jsonb postgresql-9.4

我想对 JSONB 列设置 CHECK 约束,该列仅允许非空 JSON 对象(仅 {} 具有属性,没有其他值,例如 [] 或JSON 原语)。

我只想检查“根”值,这些对象中存储的内容无关紧要。

我该怎么做?

最佳答案

CHECK(jsonb_typeof(foo)='object' AND foo <> '{}'::JSONB)

关于PostgreSQL:非空 JSON 对象的 CHECK 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27846163/

相关文章:

sql - 更新对象数组中的特定对象 Postgres jsonb

database - 选择行之间的差异 (Postgres)

c# - 用于部分排序的 IComparable 类型接口(interface)

ios - 以编程方式删除约束的效果 xcode

ruby-on-rails - 如何使用 ActiveRecord 仅选择存储在 Postgres 中的部分 json

postgresql - 如何转换tsvector?

postgresql - 无法在 Postgres 中插入德语字符

数据库内部 : implementation of a foreign key constraint

Flutter:多行文本小部件上的多余空间

sql - Python3 将 jsonb 数组插入 Postgresql 9.5