SPEC:MYSQL 16年5月7日,JDK1.7,TOMCAT 8,MySQL的连接器的Java-6.0.4.jar,WINDOWS 10JDBC批次的PreparedStatement在MySQL
下面的代码不更新批量方法为db
Preparestatement pst = null;
String[] sqlx = {
"insert to abc('col1','col2')values('first', 'data')"
"insert to abc('col1','col2')values('second','data')"
"insert to abc('col1','col2')values('third', 'data')"
};
for(String sqIn : sqlx){
pst = <jdbcConn>.preparestatement(sqIn);
pst.addBatch();
}
int[] chkSql = pst.executeBatch();
//check if chkSql consists of 0..rollback else commit for > 0
在代码的调试模式,chkSql总是具有 '1' ..this是晕? 只有1行插入成功,其他插入不成功。
这是MYSQLDB或JAR的错误吗?
我想你应该'pst.executeBatch()'内'for' –
您String数组,甚至不进行编译。在每个字符串后面都缺少'','' – XtremeBaumer
对executeBatch进行了很好的检查,尽管还有更多的你应该检查:if(chkSql [x] == Statement.EXECUTE_FAILED)throw Exception();'虽然它会被实现依赖。仍然有问题与自己的MySQL,所以不能确定。 – Adam