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

相关推荐
ShineWinsu几秒前
MySQL安全加固十大硬核操作:硬核防护指南
数据库·mysql·安全
骑龙赶鸭4 分钟前
mysql binlog中QUERY_EVENT的status_var结构
数据库·mysql
Skilce6 小时前
ZrLog 高可用部署
运维·服务器·数据库·阿里云·maven
indexsunny8 小时前
互联网大厂Java求职面试实战:微服务与Spring生态全攻略
java·数据库·spring boot·安全·微服务·面试·消息队列
沪漂阿龙8 小时前
别再让数据库“吃”脏数据了!一文讲透MySQL约束,从入门到精通
数据库·mysql
2401_8735449210 小时前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
虾..10 小时前
多路复用 --- select系统调用
服务器·数据库·sql
杨云龙UP11 小时前
mysqldump逻辑备份文件恢复总结:全库恢复、单库恢复,一篇讲明白
linux·运维·服务器·数据库·mysql·adb
ybwycx11 小时前
mysql重置root密码(适用于5.7和8.0)
数据库·mysql·adb
色空大师12 小时前
【网站搭建实操(一)环境部署】
java·linux·数据库·mysql·网站搭建