【问题标题】:Postgres jsonb ensure unique field in array of objectsPostgres jsonb 确保对象数组中的唯一字段
【发布时间】:2022-11-15 16:17:38
【问题描述】:

我想知道是否有可能在一组对象中实现唯一性,只使用对象的一个​​字段作为决定因素,如果对象是唯一的或不使用 jsonb。

我的意思的一个例子:

我想确保如果 jsonb 类型的字段看起来像这样:

"[{"x":"a", "timestamp": "2016-12-26T12:09:43.901Z"}]"

然后我想有一个约束,禁止我用 "x":"a" 放置另一个条目,而不管我试图输入的新对象上的时间戳(或任何其他字段)是什么

【问题讨论】:

标签: postgresql


【解决方案1】:

这样做的独特方法是为您的列使用 JSON 模式的 JSON 类型数据类型和 "uniqueItems": true 。

不幸的是 PostGreSQL 不接受这样的语法来强制检查。您必须在 PG 集群之外执行此操作...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 2015-04-13
    相关资源
    最近更新 更多