小编Don*_*on2的帖子

如何更新 jsonb 字段的属性值?

我有一个名为 attr 字段的 jsonb 类型,其中包含以下内容:

{ 
  "pid": 1,
  "name": "john",
  "is_default": true
 }
Run Code Online (Sandbox Code Playgroud)

如何将 is_default 更改为 false?

我试着跑到下面,但没有成功。

update attr set attr ->> 'is_default' = false where sales_type = 2
Run Code Online (Sandbox Code Playgroud)

postgresql-13

23
推荐指数
2
解决办法
5万
查看次数

尽管使用“冲突时不执行任何操作”,为什么串行主键仍会递增?

我在 PostgreSQL 13 中有下表:

表名:新表

field       type 
-----       ----    
Seq         bigserial   
code        varchar     
Run Code Online (Sandbox Code Playgroud)

Seq是主键(自增)
Code是唯一键索引

Insert Into newtable (Code) Values ('001') On Conflict(Code) Do Nothing   --> Seq value is 1
Insert Into newtable (Code) Values ('001') On Conflict(Code) Do Nothing
Insert Into newtable (Code) Values ('001') On Conflict(Code) Do Nothing

Insert Into newtable (Code) Values ('002') On Conflict(Code) Do Nothing   --> Seq value is 4
Run Code Online (Sandbox Code Playgroud)

为什么是序列4?有什么方法可以仅在成功插入时增加价值?

postgresql sequence upsert postgresql-13

8
推荐指数
2
解决办法
7236
查看次数

标签 统计

postgresql-13 ×2

postgresql ×1

sequence ×1

upsert ×1