Получить идентификатор последней добавленной записи (last_insert_id)
Назначение
Метод last_insert_id возвращает идентификатор последней добавленной записи в табличный объект БД.
Пакет
Package Linter::db
Прототип
$rv = $dbh->last_insert_id($catalog, $schema, $table, $field [, \%attr]);
| Параметр | Описание | |
|---|---|---|
$catalog
| Параметр игнорируется | |
$schema
| Имя схемы таблицы | |
$table
| Имя таблицы | |
$field
| Параметр игнорируется | |
%attr
| Параметр игнорируется |
Особенности выполнения метода:
-
значение может быть доступно после выполнения команд DML (INSERT, UPDATE, DELETE);
-
если не задано имя таблицы, то будет возвращено значение последней добавленной записи по каналу, в котором выполняется данный метод.
Примечание
Для дополнительной информации см. документацию «Справочник по SQL», раздел «Спецификация значений», параметр LAST_ROWID.
Возвращаемые значения
| Переменная | Описание | |
|---|---|---|
$rv
| Значение последней добавленной записи | |
undef
| Нет данных |
Пример
my $drh = DBI->install_driver('Linter');
my $dbh = $drh->connect("", "SYSTEM", "MANAGER8")
or die "Could not connect to database: " . DBI->errstr;
$dbh->do("create table TEST_TABLE(int_column int);");
for (my $i = 0; $i < 10; $i++)
{
$dbh->do("insert into TEST_TABLE values ($i);");
}
my $id = $dbh->last_insert_id('', '', 'TEST_TABLE', '');
print("last insert id = $id\n");
$dbh->do("drop table TEST_TABLE;");
$dbh->disconnect();