說明
int
mysql_insert_id ( [resource link_identifier] )
mysql_insert_id()
返回給定的
link_identifier
中上一步 INSERT 查詢中產生的 AUTO_INCREMENT 的 ID 號。若果沒有指定
link_identifier,則使用上一個開啟的連線。
若果上一查詢沒有產生
AUTO_INCREMENT 的值,則
mysql_insert_id()
返回 0。若果需要儲存該值以後使用,要確保在產生了值的查詢之後立即呼叫
mysql_insert_id()。
注:
MySQL 中的 SQL 函數
LAST_INSERT_ID()
總是儲存著最新產生的
AUTO_INCREMENT 值,並且不會在查詢語句之間被重設。
警示 |
mysql_insert_id() 將
MySQL 內定的 C API 函數
mysql_insert_id()
的返回值轉換成
long(PHP 中命名為 int)。若果
AUTO_INCREMENT 的列的類型是 BIGINT,則
mysql_insert_id()
返回的值將不正確。可以在 SQL 查詢中用
MySQL 內定的 SQL 函數
LAST_INSERT_ID() 來替代。
|
例子 1. mysql_insert_id() 例子
<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error()); mysql_select_db("mydb");
mysql_query("INSERT INTO mytable (product) values ('kossu')"); printf ("Last inserted record has id %d\n", mysql_insert_id()); ?>
|
|
參見 mysql_query()。