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" = '李四';

相关推荐
先吃饱再说1 小时前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils1 小时前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend4 小时前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶4 小时前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung5 小时前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql
parade岁月5 小时前
MySQL JOIN解析:朴实无华但食之有味
数据库·后端
用户3169353811836 小时前
MySQL服务无法启动问题解决全记录
数据库
vivo互联网技术9 小时前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
倔强的石头_1 天前
《Kingbase护城河》——猎捕慢查询:执行计划的微观解析与索引调优实战
数据库
SelectDB1 天前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python