2013-10-19 20 views
1

在我的PHP/MySQL的應用程序,我已經很鬆軟下面的查詢在表中插入數據:MySQL的 - 如何獲取最新的項的主鍵在數據庫表

INSERT INTO `my_table` VALUES ('','$value1','$value2'). 

其中第一個值是自動遞增的主鍵。

現在,我想要做的是,這個插入操作後,我想在另一個表​​,其中入境的my_tableprimary key作爲foreign key輸入一些數據。

我應該使用觸發器還是有一些方法來獲取表的最後一項的主鍵。 請用所需的代碼回答。

更新: 我忘記指定我正在使用mysqli並希望在數據庫端保留此特定處理。

+0

的[PHP可能重複:如何最後獲得插入表格的ID ?](http://stackoverflow.com/questions/1685860/php-how-to-get-last-inserted-id-of-a-table) – mvp

回答

1

你可以試試:

SELECT LAST_INSERT_ID(); 
0

插入語句後,你可以解僱另一個查詢:

SELECT LAST_INSERT_ID(); 

,這將返回一行與包含ID一列。

文檔:http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id

mysql> SELECT LAST_INSERT_ID(); 
     -> 195 

這工作每個連接,所以沒有問題,如果另一個線程寫入到表中。你選擇需要「權利」之後要執行/「作爲一個查詢」插入查詢後跑

一個例子:

$dbConnection = MyMagic::getMeTheDatabase("please"); 
$oSomeFunkyCode->createThatOneRowInTheDatabase($dbConnection); 

$result = $dbConnection->query("SELECT LAST_INSERT_ID();"); 
// ... fetch that one value and you are good to go 
相關問題