復(fù)制代碼 代碼如下:mysql_query("select max(id) from t1",$link);
使用此方法得到的是 id最大的值,確為最后一個(gè)值,但當(dāng)多鏈接線程時(shí),這個(gè)最大的id并不一定是我們插入數(shù)據(jù)的自增id值,因此不適用于多線程 " /> 成人免费91,国产精品高潮在线,欧美亚一区二区

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP獲取MySql新增記錄ID值的3種方法

一、使用語句:
 
復(fù)制代碼 代碼如下:mysql_query("select max(id) from t1",$link);
使用此方法得到的是 id最大的值,確為最后一個(gè)值,但當(dāng)多鏈接線程時(shí),這個(gè)最大的id并不一定是我們插入數(shù)據(jù)的自增id值,因此不適用于多線程。

二,使用函數(shù):msyql_insert_id();

php中,經(jīng)常需要把插入數(shù)據(jù)庫中的id值取出來,而正好有這么一個(gè)函數(shù):
復(fù)制代碼 代碼如下:
<?php
//執(zhí)行插入數(shù)據(jù)庫的語句
//……
$getID=mysql_insert_id();//$getID即為最后一條記錄的ID

//此函數(shù)的使用條件:
//1.假設(shè)字段名稱為recordID
//2.字段屬性須設(shè)為:auto_increment
//3.添加數(shù)據(jù)后使用
//$newID = mysql_insert_id();
//得到ID值
 ?>

php 函數(shù) mysql_insert_id() 是返回在最后一次執(zhí)行了 INSERT 查詢后,由 AUTO_INCREMENT 定義的字段的值。

當(dāng)系統(tǒng)執(zhí)行完INSERT后,再執(zhí)行SELECT時(shí),可能已經(jīng)被分發(fā)到了不同的后端服務(wù)器,如果使用php編程,此時(shí)應(yīng)該通過 mysql_insert_id()來得到最新插入的id,每次INSERT結(jié)束后,其實(shí)對應(yīng)的autoincrement值就已經(jīng)計(jì)算好返回給php 了,你無需再發(fā)出一次獨(dú)立的查詢,直接用mysql_insert_id()即可。
當(dāng)插入一條語句時(shí),它自動(dòng)返回最后的id(mysql自增值)。
并且此函數(shù)僅對當(dāng)前鏈接有用,即它是多用戶安全型的。
建議使用此函數(shù);
問題:當(dāng)id 為bigint 型時(shí) 就不在起作用了。

三、使用查詢
 
復(fù)制代碼 代碼如下:msyql_query("select last_insert_id()");
last_insert_id() 是mysql 一個(gè)函數(shù) 也是 對當(dāng)前鏈接起效
此用法 解決了 mysql_insert_id () 中遇到的 bigint 型問題
總結(jié):
推薦使用方法二,特殊情況下,可以考慮方法三。

php技術(shù)PHP獲取MySql新增記錄ID值的3種方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 乌拉特后旗| 富川| 西吉县| 木里| 吉林省| 康马县| 阳西县| 宝鸡市| 泉州市| 财经| 饶河县| 陵水| 安吉县| 会理县| 大丰市| 石泉县| 贵南县| 阿荣旗| 白山市| 伊春市| 洪洞县| 丰原市| 宝兴县| 灵山县| 东莞市| 历史| 大兴区| 天全县| 金山区| 阿合奇县| 越西县| 阿尔山市| 钟祥市| 高清| 嘉祥县| 庆云县| 邵东县| 西和县| 凤翔县| 郴州市| 宝应县|