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