MYSQL 小技巧 -- LAST_INSERT_ID

2015-01-24信息快讯网

用PHP调用mysql , 内置的LAST_INSERT_ID() 这个函数可能没有什么人用,用的最多的还是 mysql_insert_id()

其实,这两个是有区别的,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自动获取字符串编码函数mb_detect_encoding
允许phpmyadmin空密码登录的配置方法
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error
PHP sprintf()函数用例解析
php中在PDO中使用事务(Transaction)
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
php join函数应用
PHP中调用ASP.NET的WebService的代码
PHP SEO优化之URL优化方法
使用NetBeans + Xdebug调试PHP程序的方法
通过JavaScript或PHP检测Android设备的代码
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
PHP中删除变量时unset()和null的区别分析
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
浅谈PHP Extension的开发――基础篇第1/2页
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
php google或baidu分页代码
Ajax+PHP 边学边练 之二 实例
php Memcache 中实现消息队列
PHP 配置open_basedir 让各虚拟站点独立运行
php $_SERVER当前完整url的写法
ThinkPHP php 框架学习笔记
php self,$this,const,static,->的使用
关于Appserv无法打开localhost问题的解决方法
使用zend studio for eclipse不能激活代码提示功能的解决办法
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
php面向对象全攻略 (十) final static const关键字的使用
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
PHP下通过系统信号量加锁方式获取递增序列ID
php download.php实现代码 跳转到下载文件(response.redirect)
php win下Socket方式发邮件类
PHP DataGrid 实现代码
PHP PDO函数库(PDO Functions)第1/2页
phpmyadmin MySQL 加密配置方法
对squid中refresh_pattern的一些理解和建议
php生成SessionID和图片校验码的思路和实现代码
PHP Squid中可缓存的动态网页设计
©2014-2024 dbsqp.com