집 > Q&A > 본문
执行update的sql是使用的in(...)这样的形式。 由于oracle支持的in的参数有限,所以就分批来执行程序,基本形式如下:
for(i=0; i<n; i++){ int ret = sqlmapclient.update("sqlid", params[i]); }
params就是就是in的参数。 现在就是程序ret返回0,表未真正更新写入数据,且程序未抛异常,数据库那边也未检测到异常错误,帮忙分析下可能会有什么原因出现这种情况?
巴扎黑2017-04-17 14:00:54
更新未执行成功,可能是因为没有符合条件的数据需要更新,所以返回的条数是0
黄舟2017-04-17 14:00:54
是否设置自动提交?
PHP中文网2017-04-17 14:00:54
事务提交没有,检查事务相关代码或配置
怀疑是事务没有提交,检查下事务的配置。 也可能是后面的代码抛出异常导致整个事务被回滚。