插入后获取自动生成的ID

时间:2010-08-24 15:59:21

标签: php database insert oracle10g primary-key

我有一个Oracle Express 10g数据库。在我的表中,我有一个自动生成的ID,我想知道如何在插入发生后找到生成的ID。我目前正在使用PHP。

1 个答案:

答案 0 :(得分:7)

您可以将返回的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。