MYSQL 小技巧 -- LAST_INSERT_ID


Posted in PHP onNovember 24, 2009

其实,这两个是有区别的,LAST_INSERT_ID() 能返回 bigint 值的id。而,mysql_insert_id 返回的是 int 。如果你
的id 是 unsigned int,或者 bigint 的 。那么,可能是返回的是错误的。而要用 LAST_INSERT_ID() 代替。

还有些朋友,返回的都是 0,不知道怎么回事,其实 LAST_INSERT_ID() 返回的是 AUTO_INCREMENT 的 ID。
如果,表结构中,没有设置,AUTO_INCREMENT 那么也无法返回。

还有些人,还是返回为 0. 那么你就要检查一下,是不是 用了 insert delay 的功能。这种情况下,是不会返回即时的返回id值的。

很多人喜欢用 select max(id) ... 来替换这个last_insert_id, 实际上, select max(id) 是非线程安全的,很有可能,
其他线程插入了新的数据,你就查不到你上次插入的 ID 了。而last_insert_id 是 和 一个mysql connect 相对应的,也就是
和你的当前线程相对应的,不会受其他线程的干扰。如果你的数据库发生了一些奇怪的错误,比如,本来是要更新A 数据的信息的,
结果 B 数据被更新了,而且是有时候正确,有时候不正确,人多的时候会非常的不正确。就要看看是不是 用了 select max(id)

PHP 相关文章推荐
php is_file()和is_dir()用于遍历目录时用法注意事项
Mar 02 PHP
php中使用DOM类读取XML文件的实现代码
Dec 14 PHP
php 计划任务 检测用户连接状态
Mar 29 PHP
php图片加水印原理(超简单的实例代码)
Jan 18 PHP
php存储过程调用实例代码
Feb 03 PHP
thinkPHP使用post方式查询时分页失效的解决方法
Dec 09 PHP
PHP数组游标实现对数组的各种操作详解
Jan 26 PHP
php+ajax无刷新上传图片的实现方法
Dec 06 PHP
PHP实现验证码校验功能
Nov 16 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
在Laravel的Model层做数据缓存的实现
Sep 26 PHP
Laravel实现通过blade模板引擎渲染视图
Oct 25 PHP
php Memcache 中实现消息队列
Nov 24 #PHP
phplock(php进程锁) v1.0 beta1
Nov 24 #PHP
PHP 进程锁定问题分析研究
Nov 24 #PHP
PHP 递归效率分析
Nov 24 #PHP
PHP 单引号与双引号的区别
Nov 24 #PHP
PHP小程序自动提交到自助友情连接
Nov 24 #PHP
php 引用(&)详解
Nov 20 #PHP
You might like
关于PHP中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
微信企业号开发之微信考勤Cookies的使用
2015/09/11 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
2017/01/21 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
vue中使用gojs/jointjs的示例代码
2018/08/24 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
layui 实现表单和文件上传一起传到后台的例子
2019/09/16 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
详解python之配置日志的几种方式
2017/05/22 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
python分布式计算dispy的使用详解
2019/12/22 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
企业行政文员岗位职责
2013/12/03 职场文书
网络信息管理员岗位职责
2014/01/05 职场文书
单位消防安全制度
2014/01/12 职场文书
2014年高考决心书
2014/03/11 职场文书
竞赛口号大全
2014/06/16 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
2015年教师教学工作总结
2015/04/28 职场文书