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

相关推荐
wangbing112523 分钟前
SQL Server2008 R2版自动备份问题
数据库
Trouvaille ~29 分钟前
【Redis篇】Redis 渐进式遍历与数据库管理
数据库·redis·缓存·中间件·数据库管理·后端开发·scan
xcLeigh35 分钟前
KES数据库运维监控与故障排查实战
运维·数据库·sql·故障排查·运维监控·kes
GlobalSign数字证书37 分钟前
中小企业的 SSL/TLS 证书管理,有更轻量的方案
数据库·网络协议·ssl
梓䈑41 分钟前
【MySQL】库的操作(数据库的创建、查看、修改 和 备份)
数据库·mysql
yuzhiboyouye1 小时前
原生 SQL 常用核心语句基础语法
数据库·sql·oracle
我是一颗柠檬1 小时前
【Redis】事务与Lua脚本Day7(2026年)
数据库·redis·后端·lua·database
流星白龙1 小时前
【MySQL高阶】14.MySQL存储结构
android·数据库·mysql
一只fish1 小时前
Oracle官方文档翻译《Database Concepts 26ai》第18章-进程架构
数据库·oracle
流星白龙2 小时前
【MySQL高阶】17.InnoDB 内存结构
数据库·mysql·adb