首页 > 数据库 > mysql教程 > 为什么 MySQL 中 `LAST_INSERT_ID()` 返回 0?

为什么 MySQL 中 `LAST_INSERT_ID()` 返回 0?

Susan Sarandon
发布: 2025-01-02 12:49:40
原创
813 人浏览过

Why Does `LAST_INSERT_ID()` Return 0 in MySQL?

LAST_INSERT_ID() 在 MySQL 中始终返回 0

问题概述:

使用常用方法向 MySQL 表插入数据(如插入NULL、0或空括号)并随后查询对于最后插入的 ID (LAST_INSERT_ID()) 始终返回 0。此问题同时影响 PHP 的 mysql_insert_id 和 PDO::lastInsertId()。

解决方案:

问题出在 MySQL phpmyadmin 配置文件中。当 PersistentConnections 设置为 FALSE 时,将为每个查询建立一个新的 CONNECTION_ID。这会使 LAST_INSERT_ID() 结果无效,因为它与先前的连接相关联。

要解决此问题,请在 phpmyadmin 配置文件中将 PersistentConnections 设置为 TRUE。这可确保在多个查询中保持相同的连接,从而允许 LAST_INSERT_ID() 准确返回最后插入的 ID。

其他信息:

有关PersistentConnections 的影响,请参阅主题“每个查询都会创建一个新的CONNECTION_ID()"。

致谢:

特别感谢 dnagirl 在识别此问题时提供的宝贵帮助。

以上是为什么 MySQL 中 `LAST_INSERT_ID()` 返回 0?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板