我执行一个影响1行的更新语句。然后我写select row_count(),结果总是-1。
我在mysql中检查了row_count但是我不明白我在mysql中配置什么来使row_count()打开。
任何人都可以帮助我?
当我像这样使用插件时也是一样。
INSERT INTO tb_fr_itemsderendicionfondorotatorio(VERSION,estado,ejercicio,importe,tema,oidObjeto,tipoObjeto,codigoObjeto,oid_Ren dicionFondoRotatorio,oid_AnulacionRendicionFondoRotatorio,fecha)VALUES(0,1,0,3000,'mt',18679,'AnticipoRendicion' , '2013000005',4979,NULL, '2013年5月25日');
SELECT ROW_COUNT();
我从SQLYog界面进行测试并始终返回-1。在服务器Im中使用hibernate和java。
答案 0 :(得分:1)
最合理的解释是,您的“SELECT ROW_COUNT()
”查询并未在同一数据库连接上紧跟INSERT
,UPDATE
或DELETE
语句
此功能仅在同一数据库会话中有意义。如果查询是从不同的连接运行的,我们希望它返回-1。如果正在执行某些其他语句(例如,COMMIT语句),那么我们希望它返回-1。
你是从mysql命令行运行的吗?还是其他一些界面? (如果是另一个接口,我怀疑它可能正在执行COMMIT或正在搅拌连接。)
<强>随访:强>
我建议你使用mysql命令行客户端尝试相同的测试用例,看看你得到了什么结果。此外,您可以从Java应用程序执行相同的操作,并查看您到达那里的内容。
我怀疑这是SQLyog特有的问题,而不是MySQL本身的问题。但是来自另一个客户端的一些测试用例有助于确认这一点。
我使用SQLYog GUI v10.2和MySQL版本“5.1.46-community”运行测试,ROW_COUNT()返回预期值。