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

相关推荐
AOwhisky1 小时前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
小红卒2 小时前
mysql之udf提权
数据库·mysql·网络安全
Trouvaille ~2 小时前
【Redis篇】Redis 哨兵(Sentinel):高可用自动故障转移
数据库·redis·缓存·中间件·sentinel·高可用·哨兵
qfljg2 小时前
oracle 迁移到postgres
数据库·oracle
giaz14n9X3 小时前
Redis 分布式锁进阶第五十七篇
数据库·redis·分布式
剑神一笑3 小时前
Linux ls 命令深度解析:从目录遍历到颜色输出的实现原理
linux·服务器·数据库
Maynor9963 小时前
Codex API 网关迁移与流量优化实战
数据库·oracle
WyCAGy8ij4 小时前
Redis 分布式锁进阶第二篇讲解
数据库·redis·分布式
南极企鹅4 小时前
MySQL的两大支柱:undo Log&redo log
数据库·mysql·oracle
智航GIS4 小时前
ArcGIS大师之路500技---078文件数据库的加密与解密
数据库·arcgis