我执行了一条影响 1 行的更新语句。然后我写 select row_count() 结果总是-1。
我查看了row_count在 mysql 中,但我不明白我必须在 mysql 中配置什么才能启用 row_count() 。
有人可以帮助我吗?
当我像这样使用插入时也是同样的事情。
插入 tb_fr_itemsderendicionfondorotatorio(版本、estado、ejercicio、importe、tema、oidObjeto、tipoObjeto、codigoObjeto、oid_RendicionFondoRotatorio、oid_AnulacionRendicionFondoRotatorio、fecha)值(0,1,0,3000, 'mt',18679,'AnticipoRendicion' ,'2013000005',4979,NULL,'2013-05-25');
选择 ROW_COUNT();
我正在从 SQLYog 接口(interface)进行测试,并且总是返回 -1。在服务器中,我使用 hibernate 和 java。
最佳答案
最合理的解释是,在同一数据库连接上,您的“SELECT ROW_COUNT()
”查询没有紧接着 INSERT
, UPDATE
或 DELETE
语句。
该函数仅在同一数据库 session 内才有意义。如果查询是从不同的连接运行的,我们期望它返回 -1。如果正在执行其他语句(例如 COMMIT 语句),那么我们期望它返回 -1。
你是从 mysql 命令行运行这个吗?或者其他什么接口(interface)? (如果是另一个接口(interface),我怀疑它可能正在执行 COMMIT 或正在搅动连接。)
<小时/>后续:
我建议您使用 mysql 命令行客户端尝试相同的测试用例,并查看得到的结果。另外,您可以从 Java 应用程序执行相同的操作,然后看看您会得到什么。
我怀疑这是 SQLyog 特有的问题,而不是 MySQL 本身的问题。但其他客户的一些测试用例将有助于证实这一点。
我使用 SQLYog GUI v10.2 和 MySQL 版本“5.1.46-community”运行了测试,ROW_COUNT() 返回了预期值。
关于mysql - 为什么更新后mysql row_count总是-1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17624490/