postgresql upsert 使用范例

简介:
+关注继续查看

--pg支持 update from 语法 
postgres=# create table t1 as select n id,'rudy'||n as name from generate_series(1,3) n;
SELECT 10
postgres=# select * from t1;
 id |  name  
----+--------
  1 | rudy1
  2 | rudy2
  3 | rudy3
(3 rows)

--创建表
postgres=# create table t2 as select * from t1 where 1=0;
SELECT 0
postgres=# insert into t2 values(1,'rudy'),(1,'rudy2'),(1,'rudy3');
INSERT 0 3
postgres=# select * from t1,t2 where t1.id=t2.id;
 id | name  | id | name  
----+-------+----+-------
  1 | rudy1 |  1 | rudy
  1 | rudy1 |  1 | rudy2
  1 | rudy1 |  1 | rudy3
(3 rows)

--注意此时的 update from 类似于对t1表做了distint操作,故只更新一条 
postgres=# update t1 set name=t2.name from t2 where t1.id=t2.id;   
UPDATE 1
postgres=# select distinct t1.id,t1.name from t1,t2 where t1.id=t2.id;                         
 id | name 
----+------
  1 | rudy
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
2天前
|
关系型数据库 MySQL Unix
PHP MySql 安装与连接
PHP MySql 安装与连接
48 0
|
7天前
|
存储 关系型数据库 MySQL
|
7天前
|
关系型数据库 MySQL 数据库
树莓派mysql的安装
树莓派mysql的安装
|
9天前
|
关系型数据库 MySQL 数据安全/隐私保护
mysql解压缩版安装和卸载
mysql解压缩版安装和卸载
16 0
|
13天前
|
SQL 关系型数据库 MySQL
云端MySQL的安装及应用
本场景介绍Linux下MySQL的安装部署及数据库表的增删改查操作。
18 0
|
关系型数据库 PostgreSQL
PostgreSQL 如何实现upsert与新旧数据自动分离
很多业务也行有这样的需求,新的数据会不断的插入,并且可能会有更新。对于更新的数据,需要记录更新前的记录到历史表。 这个需求有点类似于审计需求,即需要对记录变更前后做审计。我以前有写过使用hstore和触发器来满足审计需求的文档,有兴趣的同学可以参考http://blog.163.com/digoa
6654 0
|
关系型数据库 PostgreSQL SQL
postgresql 9.5版本之前实现upsert功能
最近有开发人员问,有没有办法实现在pg9.5版本之前实现upsert功能,现整理如下 --创建测试表,注意此处先不要主键或唯一约束 create table t2 (id int,name varchar(100)); -- pg 在9.
1219 0
|
关系型数据库 PostgreSQL SQL
postgresql upsert 使用范例
--pg 9.5 版本支持 "UPSERT" 特性, 这个特性支持 INSERT 语句定义 ON CONFLICT DO UPDATE/IGNORE 属性,当插入 SQL 违反约束的情况下定...
956 0
推荐文章
更多