0

プロジェクトに codeigniter と oci8 を使用する。

$this->db->insert_id(); 前のクエリの最後の自動インクリメント ID を取得するのに最適ですが、Oracle データベースでは機能しないようです。

どんな助けでも大歓迎です。mysql を使用したいのですが、Oracle データベースが必要です。

$this->db->insert_id(); codeigniter の場合、php の mysql_insert_id() と同じです。

4

2 に答える 2

0

ここを参照してください:

挿入後に自動生成された ID を取得する

$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のような DB インターフェイス層を使用することもできます

于 2010-11-29T16:46:57.970 に答える
0

次のシーケンス番号を取得するのはどうですか?

SELECT ' || cTableName || デュアルからの '_seq.currval

?

于 2010-11-29T16:51:33.143 に答える