如何获取最后添加的元素的id?发现了以下设计,SELECT LAST_INSERT_ID()
但它的安全性如何?
如果我先做INSERT INTO table
然后执行SELECT LAST_INSERT_ID()
,是否有可能同时“某人”添加了另一条记录并且错误的记录会返回给我id
?或者也许你可以(应该)将它组合成一种类型的请求INSERT INTO section (section_name) VALUES('bob') SELECT LAST_INSERT_ID()
- 只是这不是语法上正确的操作......
LAST_INSERT_ID函数的工作独立于来自其他客户端的请求。这意味着LAST_INSERT_ID函数为单个客户端返回的值是仅由该客户端生成的值。由于这一点,每个用户都有自己的唯一标识符。
请务必注意,如果您使用单个 INSERT 语句将多行插入表中,LAST_INSERT_ID函数将返回第一个插入行的 ID。