使用codeigniter,需要使用oci8获取下一个查询的最后一个自动递增id的id

时间:2010-11-29 16:44:05

标签: php oracle codeigniter oci

将codeigniter和oci8用于项目。

$这 - > DB-> INSERT_ID();将完美地获取上一个查询的最后一个自动递增的id,但它似乎不适用于oracle数据库。

感谢任何帮助。我很乐意使用mysql,但是需要一个oracle数据库。

$这 - > DB-> INSERT_ID();对于codeigniter,就像php的mysql_insert_id()

2 个答案:

答案 0 :(得分:0)

见这里:

Get the auto-generated ID after an insert

$data = array("value1","value2","value3");
$db = OCILogon("user","password");
$stmt = OCIParse($db,"insert into mytable values (myid.nextval,:myfield) returning id into :id");

OCIBindByName($stmt,":ID",$id,32);
OCIBindByName($stmt,":MYFIELD",$myfield,32);

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

您还可以查看使用类似PDO

的数据库界面层

答案 1 :(得分:0)

获取下一个序列号怎么样?

SELECT'|| cTableName || '来自双重

的_seq.currval