为了账号安全,请及时绑定邮箱和手机立即绑定

在高并发环境下,用PHP向MySQL5.5写入记录,如何返回刚插入的记录的id?

在高并发环境下,用PHP向MySQL5.5写入记录,如何返回刚插入的记录的id?

PHP
千巷猫影 2019-03-12 16:37:19
在高并发环境下,用PHP向MySQL5.5写入记录,如何返回刚插入的记录的id? 高并发高并发高并发 如何返回当前插入的那条记录的id?MySQL版本是5.5
查看完整描述

4 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

高并发情况就不应该直接写入数据库,应该先给数据生成一个具有唯一性的hash值,然后写入到缓存。同时给客户端返回的是hash值。

再将缓存数据异步写入到数据库。

通过hash值去查数据库就能解决。

查看完整回答
反对 回复 2019-03-18
?
千万里不及你

TA贡献1784条经验 获得超9个赞

SELECT LAST_INSERT_ID();

The ID that was generated is maintained in the server on a per-connection basis. This means that the value returned by the function to a given client is the first AUTO_INCREMENT value generated for most recent statement affecting an AUTO_INCREMENT column by that client. This value cannot be affected by other clients, even if they generate AUTO_INCREMENT values of their own. This behavior ensures that each client can retrieve its own ID without concern for the activity of other clients, and without the need for locks or transactions.

查看完整回答
反对 回复 2019-03-18
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

mysql_insert_id(), 高并发下也是可用的.

查看完整回答
反对 回复 2019-03-18
?
冉冉说

TA贡献1877条经验 获得超1个赞

mysqli:mysqli_insert_id()
mysql:mysql_insert_id()

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 536 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信