概述

PgSQL中的insert语句可以通过ON CONFILICT来判断是否有唯一键冲突然后选择放弃插入操作,或者进行更新操作。

使用

INSERT INTO table_name(column_list) VALUES(value_list) ON CONFLICT target action

target

  • (column_name,…)一个或多个字段名,但必须是唯一索引
  • ON CONSTRAINT constraint_name:其中的 constraint_name 是一个唯一约束的名字

action

  • DO NOTHING:当唯一索引存在冲突时,什么都不做
  • DO UPDATE SET column_1 = value_1, ……WHERE condition:当记录存在时,更新表中的一些字段

pgsql在有冲突的情况下会提供一个EXCLUDED临时表把之前插入的值储存起来,所以可以使用EXCLUDED.column_name来取到想要插入的值去更新现有的记录

【PostgreSQL】ON CONFLICT语句相关推荐

  1. 【学习笔记】一些postgreSQL常用sql语句

    [学习笔记]一些postgreSQL常用sql语句 1.序列自增id 2.将从一个表中查出来的数据插入到另一个表中 3.sql更新替换字段中某个字 4.统计一个字段多个值的次数 5.统计某个字段重复项 ...

  2. 查询mysql和postgresql服务器端版本语句:select version();

    一.使用场景 想知道服务器端安装的数据库的版本,用来: 1.确认测试环境:已有的数据库版本是否与测试项目要求数据库版本一致 2.编写测试报告:测试使用数据库版本 3.下载对应版本驱动:使用jmeter ...

  3. postgreSQL的update语句

    postgreSQL的update语句 这里作者用的是DBeaver新建一个SQL语句进行示范: 首先申明下,由于当我们查询一个语句时候,输入表名后,查询语句后边会有一个表名的缩写: 所以在下边,我们 ...

  4. PostgreSQL INSERT INTO 语句

    PostgreSQL INSERT INTO 语句 PostgreSQL INSERT INTO 语句用于向表中插入新记录. 我们可以插入一行也可以同时插入多行. 语法 INSERT INTO 语句语 ...

  5. mysql conflict语句_详细解读MySQL事务

    事务概念 事务: 构成单一逻辑单元的操作集合. 是访问并可能更新各种数据项的一个程序执行单元(unit). 事务是不可分割的, 要么执行全部内容, 要么一个也不执行. ACID特性: 原子性(atom ...

  6. Postgresql on conflict do update 设置当前值,原始值,当前值与原始值相加值

    Postgresql插入时主键冲突会报错,可采取冲突不做任何处理或者进行更新--俩种方式避免报错:更新时可以保存新值,保存新值与旧值表达式. 更新时可以保存原来的值,ON CONFLICT(date, ...

  7. Python: SQLAlchemy 处理 PostgreSQL on conflict

    目录 一.数据模型定义 二.ON CONFLICT DO NOTHING - 忽略本条数据的插入 三.ON CONFLICT DO UPDATE - 更新旧数据 一.数据模型定义 models.py ...

  8. html连接sql基本语句,PostgreSQL 常用SQL语句

    PostgreSQL 简介[1] PostgreSQL 可以说是目前功能最强大.特性最丰富和结构最复杂的开源数据库管理系统,其中有些特性甚至连商业数据库都不具备.这个起源于加州大学伯克利分校的数据库, ...

  9. MySQL的SQL语句转PostgreSQL的SQL语句工具编写总结

    1.起因在学习基于vue+springboot的前后端分离项目时,因项目需求变更,需要将mysql数据库全部迁移到postgersql数据库的需求,因而编写了一个基于jave的sql语句转换工具 2. ...

最新文章

  1. 一起学android之怎样设置TextView中不同字段的字体颜色(22)
  2. 互联网1分钟 | 0328 阿里巴巴收购企业协作软件Teambition;完美世界:与谷歌达成战略合作,积极探索VR等新游戏类型...
  3. 如何在.NET上处理二维码
  4. 【292天】跃迁之路——程序员高效学习方法论探索系列(实验阶段50-2017.11.24)...
  5. c++STL中的find()函数 有两种使用方法
  6. 美国华裔科学家谈免疫系统真相!运动,心情胜过一切药品!
  7. 记一次RAID阵列的迁移经历
  8. Javascript特效:长图滚动
  9. npm命令启动前端项目
  10. 高级商务办公软件应用【14】
  11. talib 安装与使用
  12. snmpwalk工具使用
  13. 985硕士程序员年薪80万!邻居眼中不如一个老师?你怎么看?
  14. ps怎么撤销参考线_Photoshop120条新手必备技巧
  15. Lightbox JS 用法
  16. 使用AIDL实现Android的跨进程通信
  17. 亚马逊广告投放策略卖家们知多少?
  18. 文件上传插件 bootstrap-fileinput ,后台使用的C#语言
  19. UE4中动画优化与压缩
  20. 盘点2018年常用的APP下载渠道统计工具!

热门文章

  1. linux恶意代码检查软件,Yara:恶意软件检测神器
  2. “游方之旅”的纯美爱情
  3. R语言 diag函数的用法
  4. 杭州高级职称申报通过率如何提升?
  5. ps aux | grep 进程
  6. 中国移动飞信免费发短信API接口(第三方)
  7. cct省计算机等级有用吗,省计算机二级有用吗
  8. 批归一化作用_批归一化(Batch Normalization)
  9. 网约车市场重构进行时,高端出行能否撬动大格局?
  10. 史上最全的 pom.xml 文件详解