每个查询都会创建一个新的 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()的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的函数每次调用时都会创建一个新对象?

Spring ioc 常用 详解

输入语句块时会创建一个新的堆栈框架吗? [复制]

每次为新的 API 调用创建新的繁琐连接?

操作系统:为什么IO操作不占用CPU却会导致进程阻塞?Web服务器每接收一个请求都会创建一个新的线程吗?Tomcat服务器工作原理?

使用 async/await 会创建一个新线程吗?