postgresql insert on conflict 不存在则插入,存在则更新

向一张表执行插入动作,如果插入的字段数据已存在,则执行更新操作,不存在则进行插入操作。

1、创建一张表

CREATE TABLE "user_info" (

"id" int2 NOT NULL,

"name" varchar(20) COLLATE "pg_catalog"."default",

CONSTRAINT "user_info_pkey" PRIMARY KEY ("id")

);

2、执行编辑语句

INSERT INTO "user_info" ("id","name") VALUES (1,'张三') ON CONFLICT ("id") DO UPDATE SET "name" = '张三';

3、执行编辑语句("id"值相同

INSERT INTO "user_info" ("id","name") VALUES (1,'李四') ON CONFLICT ("id") DO UPDATE SET "name" = '李四';

相关推荐
zt1985q1 小时前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源
IvorySQL2 小时前
PostgreSQL 日报| PostgreSQL 19 默认 WAL 压缩算法(8 月 8 日)
数据库·postgresql·区块链
油丶酸萝卜别吃2 小时前
MySQL B+ 树查询全过程详解
数据库·mysql
leisoo80972 小时前
股票数据本地化存储实战:JSON、数据库与列式存储的方案对比
jvm·数据库·json
Exclusive_Cat2 小时前
MySQL回表机制解析与优化策略
数据库·sql
circuitsosk3 小时前
向量数据库选型与性能压测:Milvus、Pinecone、Chroma在真实业务下的对比
数据库·python·pinecone·milvus·向量数据库·chroma
影寂ldy3 小时前
SQL 索引(Index)完整笔记
数据库·笔记·sql
切糕师学AI3 小时前
从压缩到查询:PostgreSQL中JSON数据的存储与处理实践
数据库·postgresql·json
渣渣盟3 小时前
当 Redis 写入成为性能瓶颈时,如何利用 异步批量 Sink 将吞吐量从 1w QPS 提升到 10w+?
数据库·redis·php
SelectDB3 小时前
Apache Doris 2026 Roadmap:AI 成为主流负载后数据基础设施的演进方向
数据库