tp5 获得当前表插入的最新自增id

某些场景我们需要获取当前插入数据的id进行操作

在mysql中,可以通过原生语句

SELECT LAST_INSERT_ID()

来获取最新插入那条数据的id,注意如果一次插入的数据是多条(插入操作影响的行数大于1),只返回第一条的id

在tp5.0中的模型方法中,也有封装这个方法,首先我们打开CHANGELOG文件,962行

具体使用方式,我使用依赖注入的写法加载的模型

$num = $this->shieldIdentity->data([
                ‘identity_name‘=>$identity_name,
                ‘identity_alias‘=>$identity_alias,
                ‘identity_auth‘=>$identity_auth
            ])->save();
$id = $this->shieldIdentity->getLastInsID();    

也可以通过原生查询来调用

Db::query(‘SELECT LAST_INSERT_ID()‘);

原文地址:https://www.cnblogs.com/YC-L/p/12640072.html

时间: 2024-10-10 08:06:26

tp5 获得当前表插入的最新自增id的相关文章

hibernate实现分表后获取insert自增ID方法。

#第一种基于原生的JDBC的方式实现 private Integer insert(POJO entity, String table) throws SQLException { String insertSQL = "INSERT INTO " + table + " (XXXX)VALUES(?,?,?,?,?,?,?,?)"; DataSource dataSource = SessionFactoryUtils.getDataSource(getHiber

Postgresql插入数据返回自增id

Postgresql插入数据返回自增id 一.设置自增id 新建字段  并且将字段属性设置为serial 二.插入返回 insert语句增加return 例如:insert into point(pointtype,pointx,pointy,pointval)values(1,2,3,4) RETURNING id;

获取表的下一个自增ID

"SHOW TABLE STATUS LIKE '表名'" 会获取到表的信息 Array ( [0] => Array ( [Name] => uc_members [Engine] => MyISAM [Version] => 10 [Row_format] => Dynamic [Rows] => 5078858 [Avg_row_length] => 93 [Data_length] => 473629252 [Max_data_l

插入数据返回自增id及插入更新二合一

原文https://blog.csdn.net/dumzp13/article/details/50984413 JDBC: con.setAutoCommit(false); String sql = "INSERT INTO VIN(vin) VALUES(?)"; PreparedStatement ps = con.prepareStatement(sql,new String[]{"id"}); //第二个参数是要获取的字段名数组 ps.setString

将 sql server 表的下一个自增 id 设置到指定值

转自:https://www.cnblogs.com/ywangzi/archive/2011/11/29/2267666.html 使用命令: use [数据库名] DBCC CHECKIDENT ('[数据表名]', RESEED, [需要的值-1]) 如: USE pubs GO DBCC CHECKIDENT (jobs, RESEED, 30) GO 原文地址:https://www.cnblogs.com/xwgli/p/12194815.html

C# SQL 整表插入

说明: (1)表A的一部分数据插入到表B (2)DataAccess 类,是放在DAL层下的底层类; da.StrConnection 写在DataAccess类中; //整表插入方法 private void InsertTable() { DataAccess da = new DataAccess(); string sql=" select 0,字段1,字段2,字段3.. from 表A where  MainTop_ID in (" + mainID + ")&qu

两个表联合查询获取聊天表中用户最新的一条聊天数据

一个用户表,一个聊天记录表,两个表联合查询获取聊天表中用户最新的一条聊天数据 select c.contentfrom sixin as c where c.tid = a.user_idorder by ctime desc limit 0,1) as content,(select c.statusfrom sixin as c where c.tid = a.user_idorder by ctime desc limit 0,1) as status from users as a, s

oracle中复制表和数据 && 多表插入语句

创建测试表和测试数据 create table test  (id number,name varchar(10));  insert into  test values(1,'liufang');  insert into  test values(2,'xiaozhang');  insert into  test values(3,'dawei');  insert into  test values(4,'laotan');  insert into  test values(5,'la

c#操作excel导入导出时同时向用户表插入账户与密码

<><><><>本代码源于师兄<><><><><><> 1:首先需要在前端显示界面View视图中添加导入Excel和导出Excel按钮: @using (Html.BeginForm()) { } 这里注意,导出Excel是通过获取当下的表单的方式来导出数据的. 2:然后为导入Excel添加导入方法function: js部分以图片存放 3:添加点击事件后弹出来的操作界面(importe