UNIX FORUM
07 September 2010, 18:48:30 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: SMF форум только что установлен!
 
   Home   Help Login Register  
Pages: [1]
  Print  
Author Topic: Быстрый способ узнать id последнего вставленного в БД элемента  (Read 791 times)
0 Members and 1 Guest are viewing this topic.
admin
Администратор
Ветеран
*****
Offline Offline

Posts: 33957

OS:
FreeBSD
Browser:
Firefox 2.0.0.11


View Profile WWW
« on: 28 March 2008, 11:57:57 »

Быстрый способ узнать id последнего вставленного в БД элемента


У php-шников есть удобная функция last_insert_id(), которая возвращает id записи, которая была последней вставлена текущим соединением. Perl-овики обычно пишут свою аналогичную функцию, которая обычно выглядит так:

Code:
sub last_insert_id    {
    my $q="SELECT LAST_INSERT_ID() AS 'last'";
    my $sth = $dbh->prepare($q);   #$dbh — это объект DBI
    $sth->execute;
    my $ans = $sth->fetchrow_arrayref;
    return $ans->[0];
}

Видите в чем проблема? Осуществляется дополнительный запрос к базе. Это не есть гуд. Я выяснил, что узнать этот идентификатор можно гораздо проще.

Оказывается, он хранится, как свойство объекта-соединения с БД. И обратиться к нему можно просто:

Code:
print $dbh->{mysql_insertid};

Такая полезная фишечка поможет избежать лишних запросов и сэкономит время и память вам и вашему серверу.

http://dayte2.com/?u=shaman&act=state&num=133
Logged
Killomor
Новичок
*
Offline Offline

Gender: Male
Posts: 1

OS:
Windows 95
Browser:
Opera 6.01


View Profile
« Reply #1 on: 13 July 2010, 07:26:39 »

Я бы сказал ниче, ну не все, вобщем неплохо
Logged
Pages: [1]
  Print  
 
Jump to:  

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
Powered by MySQL Powered by PHP Powered by SMF | SMF © 2006-2007, Simple Machines LLC | Sitemap Valid XHTML 1.0! Valid CSS!