码迷,mamicode.com
首页 > Web开发 > 详细

PHP获取新插入的主键id

时间:2018-12-23 16:46:50      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:重复   color   out   使用   etc   并发   数据库   插入数据   _id   

  近期在做订单系统开发的时候遇到了此类情景,A表内插入后返回新插入的主键ID,然后用于B表插入数据并携带此id。

目前有几个方法总结

No1.每次插入数据之后返回A表内的最大值,但是对于多用户以及高并发来说这个方案不可行,首先是数据量大对数据库造成的压力也大,其次高并发时会造成数据丢失或者数据重复的问题,So,此方法Out!

 

No2.插入数据之后调用mysql_insert_id(),mysql_insert_id() 返回给定的 connection 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 connection ,则使用上一个打开的连接,但是遇到某些情况还是同上,订单重复等问题比较鸡肋。

 

No3.也是我现在使用的,使用 SELECT LAST_INSERT_ID() ,目前使用此方法暂时还没有发现什么问题,整体来说还是推荐这个第三种的方法

  具体Code

  

$querys="SELECT LAST_INSERT_ID()";
$results=mysql_query($querys);
$rows=mysql_fetch_row($results);
echo $rows[0];

 

 

  

 

PHP获取新插入的主键id

标签:重复   color   out   使用   etc   并发   数据库   插入数据   _id   

原文地址:https://www.cnblogs.com/shadada/p/10164474.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!