mysql returning_Postgres用returning实现mysql的last_insert_id
今天开发问到,postgres里面有没有像mysql那样插入一个值后返回插入的值,这个是有的,而且有更强的扩展性。
示例:
[postgres@localhost ~]$ psql
psql (9.2.4)
Type "help" for help.
postgres=# create table t_kenyon(id int,vname varchar(30),remark text);
CREATE TABLE
postgres=# insert into t_kenyon(id,vname) values(1,'test_kenyon') returning id;
id
----
1
(1 row)
INSERT 0 1
postgres=# insert into t_kenyon(id,vname) select generate_series(1,5),'Kenyon here' returning id;
id
----
1
2
3
4
5
(5 rows)
INSERT 0 5
扩展:
a.返回更多的insert内容
postgres=# insert into t_kenyon(id,vname) select generate_series(6,8),'Kenyon here' returning id,vname;
id | vname
----+-------------
6 | Kenyon here
7 | Kenyon here
8 | Kenyon here
(3 rows)
INSERT 0 3
postgres=# insert into t_kenyon(id,vname,remark) select generate_series(9,11),'Kenyon here','KENYON GOOD BOY!' returning *;
id | vname | remark
----+-------------+------------------
9 | Kenyon here | KENYON GOOD BOY!
10 | Kenyon here | KENYON GOOD BOY!
11 | Kenyon here | KENYON GOOD BOY!
(3 rows)
INSERT 0 3 b.返回delete掉的数据
postgres=# select * from t_kenyon;
id | vname | remark
----+-------------+------------------
1 | test_kenyon |
1 | Kenyon here |
2 | Kenyon here |
3 | Kenyon here |
4 | Kenyon here |
5 | Kenyon here |
6 | Kenyon here |
7 | Kenyon here |
8 | Kenyon here |
9 | Kenyon here | KENYON GOOD BOY!
10 | Kenyon here | KENYON GOOD BOY!
11 | Kenyon here | KENYON GOOD BOY!
(12 rows)
postgres=# delete from t_kenyon where id >9 returning id,vname;
id | vname
----+-------------
10 | Kenyon here
11 | Kenyon here
(2 rows)
DELETE 2
postgres=# delete from t_kenyon where id <5 returning *;
id | vname | remark
----+-------------+--------
1 | test_kenyon |
1 | Kenyon here |
2 | Kenyon here |
3 | Kenyon here |
4 | Kenyon here |
(5 rows)
DELETE 5
postgres=# select * from t_kenyon;
id | vname | remark
----+-------------+------------------
5 | Kenyon here |
6 | Kenyon here |
7 | Kenyon here |
8 | Kenyon here |
9 | Kenyon here | KENYON GOOD BOY!
(5 rows) c.返回update掉的数据
postgres=# update t_kenyon set remark = 'kenyon bad boy!' where id <7 returning id,remark;
id | remark
----+-----------------
5 | kenyon bad boy!
6 | kenyon bad boy!
(2 rows)
UPDATE 2 mysql的last_insert_id使用有诸多限制和注意的地方,如字段需要auto_increment,一个SQL插入多个值的时候只会返回第一个id值,此不再叙述。
mysql returning_Postgres用returning实现mysql的last_insert_id相关推荐
- mysql returning into_RDS MySQL 8.0 Returning-阿里云开发者社区
背景 MySQL 对于 statement 执行结果报文通常分为两类 Resultset 和 OK/ERR,针对 DML 语句则返回OK/ERR 报文,其中包括几个影响记录,扫描记录等属性.但在很多业 ...
- php mysql pdo use_PHP连接到mysql的方法--mysqli和PDO
php连接到mysql数据库,经典的方式就是使用mysql_connect(),具体代码如下: mysql_connect($db_host, $db_user, $db_pass) or die(m ...
- 【转】MYSQL入门学习之七:MYSQL常用函数
转载地址:http://www.2cto.com/database/201212/175864.html 一.数学函数 www.2cto.com ABS(x) ...
- mysql oracle round,Oracle和MySQL的函数对比和常用区别
编号类别ORACLEMYSQL注释1数字函数round(1.23456,4)round(1.23456,4)一样: ORACLE:select round(1.23456,4) value from ...
- mysql重复记录大于十的数据库_MySQL专题10之MySQL序列使用、MySQL处理重复数据、MySQL以及SQL的注入...
1.MySQL序列使用 - MySQL序列是一组整数:1,2,3...,由于一张数据表只能有一个字段自增主键,如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现. - 使用AUTO ...
- mysql关于时间的面试题,mysql时间设置默认值MySQL常见面试题
1.limit(选出10 到20 条) select * from students order by id limit 9,10; 2.MySQL 会使用索引的操作符号 =,>,=,betwe ...
- liunx上mysql源码安装mysql,搞定linux上MySQL编程(一):linux上源码安装MySQL
[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 1. 首先下载源码包: ftp://ftp.jaist.ac.jp/pub/m ...
- .net连接mysql数据_.net连接MYSQL数据库的方法及示例!
连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...
- 加速mysql导入时间_加快mysql导入导出速度
MySQL导出的SQL语句在处理百万级数据的时候,可能导入要花几小时.在导出时合理使用几个参数,可以大大加快导入的速度. -e 使用包括几个VALUES列表的多行INSERT语法; --max_all ...
最新文章
- SCALA当的trait
- Visual Studio 2010 第一时间体验旗舰版
- SQLServer 查看耗时较多的SQL语句
- 矩阵乘法如何去逆矩阵_矩阵乘法和求逆
- python_9(模块补充)
- C ++ Singleton设计模式
- 微信小程序----相对路径图片不显示
- Kdb+和Q语言使用-银行系统
- 【图像去噪】基于matlab GUI中值+均值+维纳+小波滤波图像去噪【含Matlab源码 800期】
- axure元件库 文件上传_一库:便捷的前后台元件库
- 专业的笔记本测试软件,专业软件性能测试
- java 正则 连续换行_Java正则表达式匹配回车换行多行
- win2008 SP2下USB鼠标不能使用的一个解决方案
- 身份证实名认证API接口介绍
- docker-compose开机自启动设置
- android 特殊符号
- 《Understanding and Diagnosing Visual Tracking Systems》论文笔记
- 腾讯区块链的三年与它的打法 |链捕手
- vue-生成二维码【生成、点击输入框内叉号移除生成的二维码、输入框聚焦】
- Python单元测试详解
热门文章
- 如何显示隐藏的文件、文件夹或者驱动器
- 报学硕还是专硕?上岸学硕后,我后悔了
- 基于科大讯飞的语音识别 windows平台开发
- oneinstack重装mysql_OneinStack 安装
- python 创建文件夹_Python写的创建文件夹自定义函数mkdir()
- 中南财经政法大学大学21年计算机考研情况 专硕进复试平均分343.4分
- 如何在lambda表达式域中使用局部变量?
- 海南省已开具区块链财政电子票据1919万张,涉及金额312亿元
- python 错误:KeyError
- 高德地图 Vue 中 加载 数据可视化 Loca 的方式