1. 程式人生 > >PHP獲取新插入的主鍵id

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];