這篇文章主要介紹了關於php獲得剛插入資料的id 的幾種方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
向mysql 插入數據時很多時候我們想知道剛插入資料的id 這對我們很有用下面我說出常用的三種方法並一一分析其利與弊。
一用以下語句:
#mysql_query("select max(id) from t1",$link);
使用這個方法時我們得到得是id最大的值的確時最後一個但當多連結線程時這個最大的id並不一定是我們插入的所以這個不利用域線程。
二用以下函數:
#msyql_insert_id();
當系統執行完INSERT後,再執行SELECT時,可能已經分發到了不同的後端伺服器,如果你使用的程式語言是PHP的話,此時應該透過mysql_insert_id()來得到最新插入的id,每次INSERT結束後,其實對應的autoincrement值就已經計算好返回給PHP 了,你無需再發出一次獨立的查詢,直接用mysql_insert_id()就可以了這個函數很好用當我們插入一條語句時它自動返回了最後的id值並且此函數僅對目前連結有用也就是說它是多用戶安全型的所以我們經常用此函數;
但此函數有一個問題就是當id 為bigint 型時就不在起作用了所以現在正在使用此函數的請小心了不過我們平常很少遇到這樣的問題,所以可以不用管它。
三:用查詢
#msyql_query("select last_insert_id()");
last_insert_id() 是mysql 一個函數也是對目前連結起效此用法解決了mysql_insert_id () 中遇到的bigint 型問題。
總結: 根據上述分析第一種方法盡量少用多用第二種方法當遇到特殊情況時可以考慮用第三種方法
相關推薦:
以上是php取得剛插入資料的id 的幾種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!