首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HDBC-mysql“命令不同步”

HDBC-mysql“命令不同步”
EN

Stack Overflow用户
提问于 2011-11-06 23:09:52
回答 1查看 288关注 0票数 3

我正在使用Snap0.6和Snaplet hdbc基础架构编写一个web应用程序。在后台,我使用HDBC-mysql连接到MySQL。但在运行该应用程序时,它会收到来自MySQL的“命令不同步,您现在无法运行此命令”错误。我对每个查询都使用withTransaction。经过谷歌搜索,MySQL似乎不支持多个查询。但是如何使用HDBC避免这种情况呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-07 10:32:54

经过一番调查,我找到了解决方案。不要在withTransaction或with commit中使用SELECT语句。对于SELECT,不要使用query‘。在我看来,HDBC-mysql使用的是mysqlclient库,所以当最后一个查询的数据仍然未使用或释放时,您不能发出新的查询。由于haskell的惰性,如果您在withTransaction中运行SELECT,数据直到您的代码需要它时才会被使用,所以当withTransaction函数调用commit时,它将导致"Command out of sync“错误。对于query',它可能会返回选定的行数,但选定的数据是由mysqlclient库缓冲的,所以这就是问题所在。

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

https://stackoverflow.com/questions/8027948

复制
相关文章

相似问题

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