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

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

編輯:關於MYSQL數據庫

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

    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:

    Copy to Clipboard

      mysql> SELECT LAST_INSERT_ID();

      -> 195

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

      一個簡單的例子:

      Copy to Clipboard

      $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