每个查询都会创建一个新的 CONNECTION_ID()

Posted

技术标签:

【中文标题】每个查询都会创建一个新的 CONNECTION_ID()【英文标题】:Every query creates a new CONNECTION_ID() 【发布时间】:2012-12-02 16:05:06 【问题描述】:

我向mysql 服务器发出的每个 SQL 查询都会创建一个新的(增量)CONNECTION_ID()。这既发生在我的本地服务器上,也发生在我的共享远程服务器上。

这就是LAST_INSERT_ID()ROW_COUNT() 导致0 背后的原因吗?如何解决这个问题?

原在MySQL: LAST_INSERT_ID() returns 0

【问题讨论】:

MySQL 服务器没有命令行。有一个单独的命令行客户端实用程序可以连接到 MySQL 服务器。你指的是这个吗?如果是这样,您是否设置了非默认的connect_timeout 我的错。我的意思不是我的phpmyadmin 的简单 SQL 查询框。让我检查超时。 请记住 last_insert_id 仅适用于自动递增的字段,而不是手动给定的.. 【参考方案1】:

默认情况下,PersistentConnections 在 phpMyAdmin 中被禁用。

这是LAST_INSERT_ID()ROW_COUNT() 导致0 背后的原因吗?

是的。

如何解决这个问题?

启用持久连接:

$cfg['PersistentConnections'] = TRUE;

【讨论】:

INSERT 之后解决了LAST_INSERT_ID()ROW_COUNT() 仍然是0。打算进一步测试它 无论如何,当 phpmyadmin 配置文件不可用时(在远程共享上),除了在桌子上做一个 SELECT 之外,没有办法得到一个 last_id

以上是关于每个查询都会创建一个新的 CONNECTION_ID()的主要内容,如果未能解决你的问题,请参考以下文章