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边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 PHP
php的大小写敏感问题整理
Dec 29 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
Jun 01 PHP
php查询mysql数据库并将结果保存到数组的方法
Mar 18 PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
Feb 07 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
php双层循环(九九乘法表)
Oct 23 PHP
PHP PDOStatement::bindParam讲解
Jan 30 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
Mar 18 PHP
php与阿里云短信接口接入操作案例分析
May 27 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
20个PHP常用类库小结
2011/09/11 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
PHP代码优化的53个细节
2014/03/03 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
nodejs中解决异步嵌套循环和循环嵌套异步的问题
2017/07/12 NodeJs
vue发送ajax请求详解
2018/10/09 Javascript
详解微信小程序中var、let、const用法与区别
2020/01/11 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
纬创Java面试题笔试题
2014/10/02 面试题
Ruby如何定义一个类
2012/10/08 面试题
个人自我鉴定写法
2013/11/30 职场文书
优秀求职自荐信怎样写
2013/12/18 职场文书
就业协议书范本
2014/04/11 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers