• PHP获取新插入的主键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];

      

     
  • 相关阅读:
    codeforces 985 F. Isomorphic Strings
    Educational Codeforces Round 44
    codeforces 979D
    ARC060 Digit Sum II
    Iroha and Haiku II
    Unhappy Hacking II
    Just h-index 2018湘潭邀请赛
    [HAOI2007]理想的正方形
    P1231 教辅的组成
    最小割数学形式
  • 原文地址:https://www.cnblogs.com/shadada/p/10164474.html
Copyright © 2020-2023  润新知