MySQL 中 LAST_INSERT_ID() 返回 0 的故障排除
尝试使用 LAST_INSERT_ID() 检索最近插入的行的 ID 时,某些情况用户遇到一个令人困惑的问题,它始终返回 0。即使在使用插入行后也可能发生这种情况各种方法,包括指定 NULL、0 或省略 ID 值。
原因和解决方案
此问题通常是由于 MySQL 的 PHP 配置设置 PercientConnections 引起的设置为假。禁用 PersistentConnections 时,将为每个查询建立一个新连接,从而每次都会产生唯一的 CONNECTION_ID。因此,LAST_INSERT_ID() 函数无法跟踪多个连接之间的插入操作并返回 0。
要解决此问题,请检查 MySQL 的 PHP 配置文件中的 PersistentConnections 设置并确保将其设置为 TRUE。这将允许 MySQL 维持持久连接,在多个查询中保留 CONNECTION_ID 并启用 LAST_INSERT_ID() 来准确检索最新的 ID。
以上是为什么 MySQL 中 LAST_INSERT_ID() 返回 0?的详细内容。更多信息请关注PHP中文网其他相关文章!