插入后获取自动生成的ID

Mat*_*teo 2 php database insert primary-key oracle10g

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

sha*_*mar 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"; 
}
Run Code Online (Sandbox Code Playgroud)

这为您$name提供了变量形式的ID $id.相应地更改您的SQL.