我正在使用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而不是预期的最后一个自动递增值。如何获得预期值?
答案 0 :(得分:0)
您可能在Spring JdbcTemplate中使用连接池。
如果是,您的驱动程序可以使用一个连接来进行插入,但是另一个连接用于last_insert_id查询。
要强制使用相同的连接,请在插入前启动Transaction,并在last_insert_id查询后提交。