首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么mysql row_count总是在更新后的-1?

问为什么mysql row_count总是在更新后的-1?
EN

Stack Overflow用户
提问于 2013-07-12 21:44:12
回答 1查看 2.6K关注 0票数 0

我执行一条影响1行的update语句。然后编写select row_count(),结果总是-1。

我在mysql中签出了计数,但我不明白要在mysql中配置什么才能使row_count()继续运行。

有人能帮我吗?

当我像这样使用insert时,情况也是一样的。

在tb_fr_itemsderendicionfondorotatorio (版本、estado、ejercicio、importe、tema、oidObjeto、tipoObjeto、codigoObjeto、oid_Ren‌​dicionFondoRotatorio、oid_AnulacionRendicionFondoRotatorio、fecha)中插入值(0,1,0,3000,'mt',18679,'AnticipoRendicion','2013000005',4979,NULL,'2013-05-25');

选择ROW_COUNT();

我正在从SQLYog接口进行测试,并且总是返回-1。在服务器中,我使用hibernate和java。

EN

回答 1

Stack Overflow用户

发布于 2013-07-12 22:38:25

最合理的解释是,在同一数据库连接上,您的"SELECT ROW_COUNT()“查询没有被INSERT、UPDATE或DELETE语句直接放在前面。

此函数仅在同一数据库会话中具有意义。如果查询是从不同的连接运行的,我们希望它返回a-1。如果有其他语句正在执行(例如,COMMIT语句),那么我们希望它返回a-1。

您是否从mysql命令行运行此操作?还是其他接口?(如果它是另一个接口,我怀疑它可能正在执行COMMIT或正在搅动连接。)

后续行动:

我建议您使用mysql命令行客户端尝试相同的测试用例,并查看结果。另外,您也可以在Java应用程序中做同样的事情,并查看您在那里得到了什么。

我怀疑这是SQLyog特有的问题,而不是MySQL本身的问题。但另一个客户端的一些测试用例将有助于证实这一点。

我使用SQLYog GUIV10.2运行了一个测试,MySQL版本'5.1.46-community',ROW_COUNT()返回了期望值。

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

https://stackoverflow.com/questions/17624490

复制
相关文章

相似问题

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