postgresql的insert语句中进行判断,数据已有则更新,数据没有则插入
INSERT 操作
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
下面是一个示例:
INSERT INTO employee (id, name, salary)
VALUES (1, 'John Doe', 5000);
INSERT或UPDATE 操作
在执行insert的时候进行判断,根据情况进行insert或者update操作,可以使用 INSERT ON CONFLICT 语句来实现
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
ON CONFLICT (column)
DO UPDATE SET column1 = value1, column2 = value2, ...;
- table_name:要插入或更新数据的表的名称。
- column1, column2, …:要插入或更新的列的名称。
- value1, value2, …:要插入或更新的值。
- column:用于指定用于检查冲突的列。
下面是一个示例:
INSERT INTO employee (id, name, salary)
VALUES (1, 'John Doe', 5000)
ON CONFLICT (id)
DO UPDATE SET name = 'John Doe', salary = 5000;
需要注意的是conflict的字段,必须是主键字段,因此在用之前需要对这几个指定字段建立主键。
ALTER TABLE public.pollute_day_water
ADD CONSTRAINT pollute_day_water_pkey
PRIMARY KEY (mp_id,data_time,pollutant_code
);
postgresql的insert语句中进行判断,数据已有则更新,数据没有则插入的更多相关文章
- if语句中的判断条件(nginx)
if语句中的判断条件 正则表达式匹配: ==:等值比较; ~:与指定正则表达式模式匹配时返回"真",判断匹配与否时区分字符大小写: ~*:与指定正则表达 ...
- Nginx中if语句中的判断条件
一.if语句中的判断条件(nginx) 1.正则表达式匹配: ==:等值比较; ~:与指定正则表达式模式匹配时返回“真”,判断匹配与否时区分字符大小写: ~*:与指定正则表达式模式匹配时返回“真”,判 ...
- 转 SSIS处理导入数据时, 存在的更新, 不存在的插入
SSIS处理导入数据时, 存在的更新, 不存在的插入 分类: DTS/SSIS2006-09-10 12:43 18185人阅读 评论(22) 收藏 举报 ssissql servermicrosof ...
- 如何实现MySQL随机查询数据与MySQL随机更新数据?
以下的文章主要介绍的是MySQL随机选取数据,对实现MySQ随机查询数据与MySQ随机更新数据的实际操作步骤的描述,以及对其实际操作中所要用到的语句的描述,以下就是对其具体操作步骤的描述. MySQL ...
- SQL Insert语句数据以以unicode码存储 解决存储数据出现乱码的问题
写了个读取原始的文本数据导入数据库的工具 ,最后发现空中有几个值是乱码 例如 原始数据是 :Bjørn 存到数据库中是 Bj?rn 研究半天发现是一直以来忽略了一个标记‘N’ 2条 Insert 语句 ...
- 子查询在INSERT语句中的应用
在使用INSERT语句的时候,一般都是使用它向数据库中一条条的插入数据,比如: INSERT INTO MyTable(FId,FName,FAge)VALUES(1,"John" ...
- if 语句中的判断
经常写shell的朋友可能已经很熟了.有不同意见的同学请指出来,在这里多谢大家了. bash中如何实现条件判断?条件测试类型: 整数测试 字符测试 文件测试 一.条件测试的表达式: ...
- Mybatis笔记 – insert语句中主键的返回
在DBMS中可以使用insert语句显示指定自增主键值,但Mybatis中不可,即使指定了也无效,可以使用特殊的方式返回主键. 一.自增主键返回 mysql自增主键执行insert提交 ...
- javascript中 if条件语句中的判断条件类型总结
在所有编程语言中if是最长用的判断之一,但在js中到底哪些东西可以在if中式作为判断表达式呢? 例如如何几行,只是少了一个括号,真假就完全不同,到底表示什么含义呢 var obj={}; obj.Fu ...
- (转)SSIS处理导入数据时, 存在的更新, 不存在的插入
问题描述: 当你把数据从其他数据库, 或者是文本文件之类的其他数据源导入到目的数据库时, 有时希望在导入的处理中, 能够实现"数据存在时更新, 不存在时导入" 在之前, 一般是通过 ...
随机推荐
- 3个.NET开源、免费、强大的商城系统
前言 今天大姚给大家分享3个.NET开源.免费.强大的商城系统,希望可以帮助到有商城系统开发需求的同学. nopCommerce nopCommerce是一个功能丰富.免费.灵活且可定制的开源电子商务 ...
- #计数#CF10C Digital Root
题目 定义\(d(x)\)为\(x\)的数位和嵌套,直至\(0\leq d(x)<10\) 询问在\([1\sim n]\)中有多少个三元组\((a,b,c)\)满足 \[ab\neq c,d( ...
- #带权并查集#HDU 3038 How Many Answers Are Wrong
题目 有未知的\(n\)个数,有\(m\)组询问,形如区间和等于给定值, 问有多少条错误的询问,一旦错误忽略此条询问 \(n\leq 2*10^5,m\leq 4*10^4\) 分析 用带权并查集,记 ...
- #主席树,fread,fwrite#洛谷 1972 [SDOI2009]HH的项链
题目 分析 维护每个位置的后继,问题转换为后继在区间外的位置的个数, 但是这题太卡常了,所以我就加了fread和fwrite 其实树状数组的解法我也写过了 代码 #include <cstdio ...
- RabbitMQ 01 概述
什么是消息队列 进行大量的远程调用时,传统的Http方式容易造成阻塞,所以引入了消息队列的概念,即让消息排队,按照队列进行消费. 它能够将发送方发送的信息放入队列中,当新的消息入队时,会通知接收方进行 ...
- #莫队二次离线,根号分治#洛谷 5398 [Ynoi2018] GOSICK
题目 \(m\) 组询问求 \(\sum_{l\leq i,j\leq r}[a_i\bmod a_j==0],n,m,a_i\leq 5\times 10^5\) 分析 设 \(f(l,r,x)\) ...
- scala json解析到case类
有时候,需要将从json文件读取程序配置设置,并同步到定义好的一些case类中,这个时候可以使用 io.circe解析json文件,并同步文件字段到定义好的case类 case class Confi ...
- 如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等 [仅供参考未亲测]
如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等 2007-01-29 10:20:09 分类: LINUX 前提条件: 必须安装包:vsftpd-2.0.1-5 ...
- bs4、selenium的使用
爬取新闻 # 1 爬取网页---requests # 2 解析 ---xml格式,用了re匹配的 ---html,bs4,lxml... ---json: -python :内置的 -java : f ...
- 力扣1076(MySQL)-员工项目Ⅱ(简单)
题目: 编写一个SQL查询,报告所有雇员最多的项目. 查询结果格式如下所示: 解题思路: 方法一:将两个表联结,以project_id进行分组,统计员工数降序排序,然后筛选出第一条数据. 1 sel ...