向mysql 插入數據時 很多時候 我們想知道剛剛插入數據的id 這對我們很有用 下面我說出常用的三種方法并一一分析其利與弊。
一 用以下語句:
mysql_query("select max(id) from t1",$link);
使用這種方法時 我們得到得是 id最大的值 的確時最后一個 但當多鏈接線程時這個最大的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 的幾種方法總結就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 解析sql中得到剛剛插入的數據的id
- ThinkPHP寫數組插入與獲取最新插入數據ID實例
- php插入mysql數據返回id的方法
- THINKPHP在添加數據的時候獲取主鍵id的值方法
- PHP用mysql_insert_id()函數獲得剛插入數據或當前發布文章的ID
- php 生成唯一id的幾種解決方法