2010-08-24 69 views
2

我有一個Oracle Express 10g數據庫。在我的表中,我有一個自動生成的ID,我想知道如何在插入發生後找到生成的ID。我目前使用PHP。插入後獲取自動生成的ID

回答

6

你可以得到返回的id到一個變量。例如,下面的代碼:

$data = array("larry","bill","steve"); 
$db = OCILogon("scott","tiger"); 
$stmt = OCIParse($db,"insert into names values (myid.nextval,:name) returning id into :id"); 

OCIBindByName($stmt,":ID",$id,32); 
OCIBindByName($stmt,":NAME",$name,32); 

while (list(,$name) = each($data)) 
{ 
    OCIExecute($stmt); 
    echo "$name got id:$id\n"; 
} 

這使您通過$name在變量$id的形式得到了ID。相應地更改您的SQL。

+0

我試過,它的工作部分因爲每個插入跳轉一個值,「myid.nextval」可以刪除使用所有可能的密鑰。 tnks – Erick 2010-08-24 17:54:08

+0

不客氣。這只是一個演示。您需要自己定製代碼。 – shamittomar 2010-08-24 17:58:16

+0

終於有這個作品謝謝:) – Dinesh 2014-11-10 11:08:48