首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有同步错误的另一个循环中运行mysql查询

问在没有同步错误的另一个循环中运行mysql查询
EN

Stack Overflow用户
提问于 2011-01-19 18:19:24
回答 2查看 746关注 0票数 2

如果我有这样的代码(不相关的事情,比如初始化连接和省略句柄):

代码语言:javascript
复制
MYSQL_RES *res;
MYSQL_ROW row;
mysql_query(mysql, "some select query");
res = mysql_use_result(mysql);
while (row = mysql_fetch_row(res)) {
    MYSQL_RES *res2;
    MYSQL_ROW row2;
    mysql_query(mysql, "some other select query using an id from the first");
    res2 = mysql_use_result(mysql);
    /* ... */
    mysql_free_result(res2);
}
mysql_free_result(res);

每当我运行第二个mysql_query (在循环中)时,我都会得到错误

代码语言:javascript
复制
mysql: 2014: Commands out of sync; you can't run this command now

如何在从一个select查询中提取行的同时运行另一个select查询?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-23 15:43:27

我向MySQL邮件列表发送了一封电子邮件。基本上,要做到这一点,我需要有两个独立的MySQL连接。谢谢,Shawn Green (来自Oracle)。

用于连接的mysql对象一次只能有一个活动的查询或结果。要使两组结果正常工作,您需要到MySQL服务器

的第二个独立连接

票数 2
EN

Stack Overflow用户

发布于 2011-01-23 17:43:06

真正的问题是:为什么需要两个循环?

创建一条返回您想要的所有内容的语句几乎总是更有效,而不是从外部语句中每行触发一条语句。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4734078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档