Java ExecuteBatch()仅插入1行

Nom*_*n K 5 java jdbc

我的代码非常简单.但是在运行executeBatch()之后,只有1行进入数据库.

代码如下:

//INSIDE LOOP: 
{
ps = conn.prepareStatement("INSERT INTO NK_EVENT_DATA VALUES(?,?,?,?,?,?,?);

// setting bind variable values
ps.setLong(1, ed_fi_uid);
ps.setString(2 , ed_date);
ps.setString(3, ed_hash_key);
ps.setLong(4 , ed_et_uid);
ps.setLong(5, ed_etn_uid);

ps.addBatch();
}
//LOOP ENDS

ps.executeBatch();
Run Code Online (Sandbox Code Playgroud)

但是,只插入一条记录而不是5条记录.

Mic*_*sel 17

您正在每个循环中创建一个新的PreparedStatement.每个语句只添加一个批处理,只执行最后一个语句.

移出ps = conn.prepareStatement("INSERT INTO NK_EVENT_DATA VALUES(?,?,?,?,?,?,?);循环.

  • 嗨迈克尔!!!这正是问题所在!!现在它工作正常!!干杯人,非常感谢!!阿卜杜拉 (2认同)