简体   繁体   English

mysql executeBatch()错误..?

[英]mysql executeBatch() error..?

In the MySQL environment, I use jdbc addBatch() and executeBatch() When you run a batch update, the entire query does not run, Only the last query will run normally. 在MySQL环境中,我使用jdbc addBatch()executeBatch()运行批处理更新时,整个查询不会运行,只有最后一个查询才能正常运行。

I do not know what to check. 我不知道要检查什么。

My source code 我的源代码

ps = conn.prepareStatement ("update TEMP set LAST_UPDATE_DT = SYSDATE () where id = '1001'");
ps.addBatch ();

ps = conn.prepareStatement ("update TEMP set LAST_UPDATE_DT = SYSDATE () where id = '1002'");
ps.addBatch ();

ps = conn.prepareStatement ("update TEMP set LAST_UPDATE_DT = SYSDATE () where id = '1003'");
ps.addBatch ();

Int result [] = ps.executeBatch ();

This is mostly incorrect use of prepared statements. 这主要是对准备好的语句的不正确使用。 You probably had simple statements in mind when you wrote this. 撰写本文时,您可能会想到一些简单的语句。 For prepared statement batch, the approach is slightly different 对于准备好的语句批处理,方法略有不同

// first create the prepared statement
ps = conn.prepareStatement ("update TEMP set LAST_UPDATE_DT = SYSDATE () where id = ?");
// then bind to it.
ps.setInt(1,1001);
ps.addBatch();

// then bind again
ps.setInt(1,1002);
ps.addBatch();

// and again
ps.setInt(1,1003);
ps.addBatch();

int result [] = ps.executeBatch ();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM