程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> Mysql插入記錄後返回該記錄ID

Mysql插入記錄後返回該記錄ID

編輯:MYSQL入門知識
 

最近和Sobin在做一個精品課程的項目,因為用到一個固定的id作為表間關聯,所以在前一個表插入數據後要把插入數據生成的自增id傳遞給下一個表。研究了一番決定使用Mysql提供了一個LAST_INSERT_ID()的函數。

‘‘
LAST_INSERT_ID() (with no argument) returns the first automatically generated value that was set for an AUTO_INCREMENT column by the most recently executed INSERT or UPDATE statement to affect such a column. For example, after inserting a row that generates an AUTO_INCREMENT value, you can get the value like this:’’


mysql> SELECT LAST_INSERT_ID();
-> 195

簡單說來,就是這個函數將返回插入的那條記錄在表中自增的那個字段的值,一般我們都給那個自增字段命名為ID。這樣就可以返回剛插入的記錄的ID值了。

一個簡單的例子:
$query="INSERT INTO `testtable` (`clou1`,`clou2`) VALUES ('testvalue','test')";
mysql_query($query);
$query="SELECT LAST_INSERT_ID()";
$result=mysql_query($query);
$rows=mysql_fetch_row($result);
echo $rows[0];

這個函數是基於connection的,也就是不會被其他客戶端的connection影響到,所以結果是准確的。如果使用select max(id) from table,在高密度的插入請求下,是有可能出問題的,返回錯誤值

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved