Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
使用 SELECT Max(ID) FROM table 是否比使用 SELECT last_insert_id() 更安全,它们作为 2 个单独的查询运行?
我担心在 last_insert_id() 可以运行之前,会发生另一个插入。
使用 SELECT Max(ID) FROM table 比使用 SELECT last_insert_id() 更安全
绝对不是,从来没有!LAST_INSERT_ID()正是由于您所说的原因而存在:其他客户可能已经进行了其他插入。LAST_INSERT_ID()始终为您提供当前连接上最后插入的 ID。
LAST_INSERT_ID()
mySQL 参考
使用select max(id)只是自找麻烦。两个插入几乎同时发生只是时间问题,您会开始在数据中看到一些疯狂。
select max(id)