所以我最近开始阅读有关 sql 最佳实践的文章,并发现了使用批处理语句进行插入和更新的知识。所以想用我学到的新知识更新一些代码。例如我有一个这样的循环:
conn.setAutoCommit(false)
try {
stmt = conn.prepareStatement("insert into TEST (ID,STR_TEST1) values (?,?)")
for (String element : someList) {
stmt.setInt(1, ???)
stmt.setString(2, element)
}
stmt.executeBatch();
conn.commit()
} finally {
stmt.close()
}
现在不幸的是,我的表不会自动增加 id 并且由于某些原因我无法更改它,这意味着我必须始终在我的表中选择下一个“免费”id。问题是,它不起作用,我猜是因为自动提交设置为 false。任何想法如何解决我的问题?我想在我的插入查询中进行子选择,但我担心这会削弱性能。
红颜莎娜
相关分类