MYSQL 小技巧 -- LAST_INSERT_ID

 更新时间:2009年11月24日 21:43:41   作者:  
用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数组操作类实例

    PHP数组操作类实例

    这篇文章主要介绍了PHP数组操作类,涉及php针对数组的删除、转换、分组、排序等相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • php 操作数组(合并,拆分,追加,查找,删除等)

    php 操作数组(合并,拆分,追加,查找,删除等)

    这篇文章主要介绍了php自带的一些操作数组的函数,特整理下方便大家使用
    2012-07-07
  • 关于php mvc开发模式的感想

    关于php mvc开发模式的感想

    使用mvc开发已经有一段很长时间了,发现了一些问题。
    2011-06-06
  • php进程通信之共享内存详细讲解

    php进程通信之共享内存详细讲解

    这篇文章主要介绍了php进程通信之共享内存,共享内存是一种最为高效的进程间通信(IPC)方式,进程可以直接读写内存,而不需要任何数据的拷贝
    2022-09-09
  • PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结

    PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结

    这篇文章主要介绍了PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结,并给出了一个综合使用这些函数的例子做了一个简易文件浏览器,需要的朋友可以参考下
    2014-11-11
  • PHP数据库操作之基于Mysqli的数据库操作类库

    PHP数据库操作之基于Mysqli的数据库操作类库

    Mysqli 是什么,我这里也不进行描述了。因为网上关于 Mysqli 的教程数不胜数,我这里为大家介绍一款基于 Mysqli 的操作数据库类(M.class.php)
    2014-04-04
  • php-fpm.conf配置文件中文说明详解及重要参数说明

    php-fpm.conf配置文件中文说明详解及重要参数说明

    本文主要介绍了php-fpm.conf配置文件的中文说明详解以及php-fpm.conf重要参数配置说明,最后有一个监控php-fpm进程运行状态的页面代码实例
    2018-10-10
  • laravel 解决后端无法获取到前端Post过来的值问题

    laravel 解决后端无法获取到前端Post过来的值问题

    今天小编就为大家分享一篇laravel 解决后端无法获取到前端Post过来的值问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 详解PHP伪静态的实现方法

    详解PHP伪静态的实现方法

    伪静态技术通过将动态URL转换为静态样式,不仅提高了用户体验,也增强了搜索引擎的抓取效率,本文将详细介绍什么是伪静态,以及如何在 PHP中实现伪静态,需要的可以了解下
    2024-11-11
  • 如何用PHP导出PDF

    如何用PHP导出PDF

    实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快速生成PDF文件的PHP5函数包。TCPDF基于FPDF进行扩展和改进,增强了实用功能。
    2021-05-05

最新评论