博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 返回id_mysql返回自增id
阅读量:4954 次
发布时间:2019-06-12

本文共 458 字,大约阅读时间需要 1 分钟。

在mysql操作中执行insert,是没有自增id返回的,这就对于后续编写逻辑造成了很大不便。

其实有几种方法可以做到insert后直接获取到自增id。

1.执行select max(id);

原理是直接查找数据库的最大id,坏处:一旦并发量大、数据量多时就会出现性能低、查找错误的情况。

2.执行selsct LAST_INSERT_ID();

原理是因为LAST_INSERT_ID是基于Connection的,只要每个线程都使用独立的Connection对象,LAST_INSERT_ID函数 将返回该Connection对AUTO_INCREMENT列最新的insert or update*操作生成的第一个record的ID。这个值不会被其它客户端(Connection)影响,保证了你能够找回自己的 ID 而不用担心其它客户端的活动,而且不需要加锁。使用单INSERT语句插入多条记录,  LAST_INSERT_ID返回一个列表。

要注意的是,当你执行多个insert时,它会返回第一个自增id。

参考:

转载地址:http://ywyhp.baihongyu.com/

你可能感兴趣的文章
第3讲:导入表的定位和读取操作
查看>>
echarts-柱状图绘制
查看>>
mysql备份与恢复
查看>>
混沌分形之迭代函数系统(IFS)
查看>>
VS2013试用期结束后如何激活
查看>>
边框圆角Css
查看>>
SQL 能做什么?
查看>>
java IO操作:FileInputStream,FileOutputStream,FileReader,FileWriter实例
查看>>
使用Busybox制作根文件系统
查看>>
Ubuntu候选栏乱码
查看>>
基于SSH框架的在线考勤系统开发的质量属性
查看>>
jpg图片在IE6、IE7和IE8下不显示解决办法
查看>>
delphi之模糊找图
查看>>
Javascript模块化编程的写法
查看>>
大华门禁SDK二次开发(二)-SignalR应用
查看>>
oracle 使用job定时自动重置sequence
查看>>
集成百度推送
查看>>
在项目中加入其他样式
查看>>
在使用Kettle的集群排序中 Carte的设定——(基于Windows)
查看>>
【原】iOS中KVC和KVO的区别
查看>>