我很难理解mysql中的last_insert_id不是游泳池安全的。即如果你正在汇集连接,你会搞乱insert_ids。 java的statement.getGeneratedKeys()如何获取插入的键?它是否安全可靠?
答案 0 :(得分:3)
我在这里引用MySQL Connector / J internals中的相关文本:
你应该知道,有时,它 使用'SELECT可能很棘手 LAST_INSERT_ID()'查询,就像那样 function的值的范围是a 连接。所以,如果其他一些查询 发生在同一个连接上, 价值将被覆盖。在 另一方面,'getGeneratedKeys()' 方法由Statement声明 实例,即使它也可以使用 其他查询同样发生 连接,但不是相同的 声明实例。