2010-08-24 4 views
2

У меня есть база данных Oracle Express 10g. В моей таблице у меня есть автоматически сгенерированный идентификатор, и я хотел бы знать, как я могу найти, что сгенерированный идентификатор после вставки происходит. В настоящее время я использую PHP.Получить автоматически сгенерированный идентификатор после вставки

ответ

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. Измените свой SQL соответственно.

+0

Я пробовал, и он работает частично, потому что каждая вставка прыгает за значение, «myid.nextval» может удалять, чтобы использовать весь возможный ключ. tnks – Erick

+0

Добро пожаловать. Это было просто демо. Вам нужно настроить код самостоятельно. – shamittomar

+0

Наконец-то это работает Спасибо :) – Dinesh

Смежные вопросы