我正在使用 SELECT LAST_INSERT_ID()
获取最后一个自动递增的值。它在 SQLyog 和命令提示符下工作正常,但是当我像这样使用 Spring JdbcTemplate 使用相同的查询时:
String SQl1="SELECT LAST_INSERT_ID()";
int sales_id=jdbcTemplateObject.queryForInt(SQl1);
System.out.println("returned sales_id is"+sales_id);
它返回 0 而不是预期的最后一个自动递增的值。如何获得期望值?
最佳答案
您可能在 Spring JdbcTemplate 中使用连接池。
如果是,您的驱动程序可能使用一个连接进行插入,但对 last_insert_id 查询使用另一个不同的连接。
要强制使用相同的连接,请在插入之前启动一个事务,并在 last_insert_id 查询之后提交它。
关于java - 如何使用 JdbcTemplate 获取最后一个自增值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27579730/