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 相关文章推荐
56.com视频采集接口程序(PHP)
Sep 22 PHP
php xml文件操作代码(一)
Mar 20 PHP
php中获取远程客户端的真实ip地址的方法
Aug 03 PHP
php判断终端是手机还是电脑访问网站的思路及代码
Apr 24 PHP
PHP运行模式的深入理解
Jun 03 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
Oct 14 PHP
php网页病毒清除类
Dec 08 PHP
PHP使用适合阅读的格式显示文件大小的方法
Mar 05 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
Feb 03 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
Jun 30 PHP
PHP上传图片、删除图片简单实例
Nov 12 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 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中memcache的应用
2013/06/18 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
Js 弹出框口并返回值的两种常用方法
2010/12/30 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
sails框架的学习指南
2014/12/22 Javascript
js点击选择文本的方法
2015/02/09 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
vue 项目build错误异常的解决方法
2019/04/22 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
vue实现分页的三种效果
2020/06/23 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
毕业生实习鉴定
2013/12/11 职场文书
小学毕业感言500字
2014/02/28 职场文书
教师节演讲稿
2014/05/06 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
无违反计划生育证明格式
2015/06/24 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书
十大好看的穿越动漫排名:《瑞克和莫蒂》第一,国漫《有药》在榜
2022/03/18 日漫
git stash(储藏)的用法总结
2022/06/25 Servers