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

相关推荐
世界尽头与你2 分钟前
MySQL 三大日志(binlog、redo log 和 undo log)深度解析
数据库·mysql
a285282 分钟前
MS SQL Server 实战 统计与汇总重复记录
数据库·oracle
tod11324 分钟前
深入理解 Redis 事务:从原理到实践的完整解析
数据库·redis·缓存
升职佳兴41 分钟前
SQL 窗口函数入门教程基础篇
数据库·sql
dreams_dream1 小时前
MySQL 主从复制(小白友好 + 企业级)
android·数据库·mysql
XLYcmy1 小时前
智能体大赛 技术架构 数据根基层
数据库·ai·llm·api·agent·幻觉·万方
014-code1 小时前
MySQL 事务隔离级别
java·数据库·mysql
Je1lyfish1 小时前
CMU15-445 (2026 Spring) Project#1 - Buffer Pool Manager
linux·数据库·c++·后端·链表·课程设计·数据库架构
Re.不晚1 小时前
Redis——哨兵机制
数据库·redis·bootstrap
代码星辰2 小时前
MySQL 面试题——深度分页优化
数据库·mysql·覆盖索引·深度分页