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

相关推荐
典孝赢麻崩乐急3 分钟前
Redis复习----------Redis超高性能的原因
数据库·redis·学习·缓存
腾讯云开发者4 分钟前
腾讯技术面:聊聊MySQL五大核心模块
数据库·mysql
Albert Edison8 分钟前
【MySQL】事务管理
数据库·mysql
l1t11 分钟前
DeepSeek对利用DuckDB求解Advent of Code 2021第9题“烟雾盆地”第二部分SQL的分析
数据库·人工智能·sql·递归·duckdb·deepseek·cte
gjc59214 分钟前
MySQL无主键大表删除导致主从同步延迟的深度分析
数据库·mysql
汪不止15 分钟前
【 分布式唯一业务单号生成方案:Redis + 数据库双保险架构】
数据库·redis·分布式
典孝赢麻崩乐急15 分钟前
Redis复习-------Redis事务
数据库·redis·缓存
Gofarlic_OMS16 分钟前
通过MathWorks API实现许可证管理自动化
大数据·数据库·人工智能·adobe·金融·自动化·区块链
橘子真甜~16 分钟前
Reids命令原理与应用3 - Redis 主线程,辅助线程与存储原理
网络·数据库·redis·缓存·线程·数据类型·存储结构
杨了个杨898227 分钟前
Rsyslog + MySQL 实现日志集中存储
数据库·mysql