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