手机
当前位置:查字典教程网 >编程开发 >php教程 >MYSQL 小技巧 -- LAST_INSERT_ID
MYSQL 小技巧 -- LAST_INSERT_ID
摘要:其实,这两个是有区别的,LAST_INSERT_ID()能返回bigint值的id。而,mysql_insert_id返回的是int。如果你...

其实,这两个是有区别的,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)

【MYSQL 小技巧 -- LAST_INSERT_ID】相关文章:

PHP 和 MySQL 开发的 8 个技巧

用PHP实现WEB动态网页静态

一个简单的自动发送邮件系统(二)

一个php作的文本留言本的例子(六)

php使用指定编码导出mysql数据到csv文件的方法

ASP知识讲座四

PHP生成plist数据的方法

Windows下PHP的任意文件执行漏洞

利用PHP创建动态图像

用PHP连接Oracle for NT 远程数据库

精品推荐
分类导航