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 小时前
Spring事务操作全解析
java·数据库·后端·spring
momin~4 小时前
MySQL-part2【MySQL表的增删改查】
数据库·mysql
white-persist4 小时前
【vulhub weblogic CVE-2017-10271漏洞复现】vulhub weblogic CVE-2017-10271漏洞复现详细解析
java·运维·服务器·网络·数据库·算法·安全
sR916Mecz4 小时前
MongoDB 详解、应用场景及案例分析(AI)
数据库·mongodb
sR916Mecz5 小时前
pache Hop实战:Windows平台MySQL数据迁移的深度排错与性能调优
数据库·windows·mysql
taWSw5OjU5 小时前
MyBatis-plus进阶之映射与条件构造器
数据库·oracle·mybatis
诗人不写诗5 小时前
spring boot apm生态
java·数据库·spring boot
火飞鹰6 小时前
封装MinIO为starter
java·数据库·spring boot
升职佳兴7 小时前
SQL 进阶3:连续登录问题与 ROW_NUMBER 差值法完整解析
java·数据库·sql