2

使用 SELECT Max(ID) FROM table 是否比使用 SELECT last_insert_id() 更安全,它们作为 2 个单独的查询运行?

我担心在 last_insert_id() 可以运行之前,会发生另一个插入。

4

2 回答 2

12

使用 SELECT Max(ID) FROM table 比使用 SELECT last_insert_id() 更安全

绝对不是,从来没有!LAST_INSERT_ID()正是由于您所说的原因而存在:其他客户可能已经进行了其他插入。LAST_INSERT_ID()始终为您提供当前连接上最后插入的 ID。

mySQL 参考

于 2010-07-05T15:11:53.223 回答
3

使用select max(id)只是自找麻烦。两个插入几乎同时发生只是时间问题,您会开始在数据中看到一些疯狂。

于 2010-07-05T15:24:11.420 回答