Re: Creating alphanumeric id for a table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2009-09-11 at 00:19 -0400, Phpster wrote:
> Note that this approach has risks around race conditions. Anytime you  
> have a construct for the id you run the risk of having it create  
> duplicate ids. You will need to handle that.
> 
> Bastien
> 
> Sent from my iPod
> 
> On Sep 10, 2009, at 6:49 PM, Ben Dunlap <bdunlap@xxxxxxxxxxxxxxxxxx>  
> wrote:
> 
> >> I assume that I can get increment value/sequence from db  (I used  
> >> harcoded
> >> increment value  in the code above (generate_id(1))),
> >> but I don't know how I can get this incremental value from db.I use  
> >> mysql
> >> 5.0.
> >
> > If you're thinking of retrieving the newest value of an AUTO_INCREMENT
> > column, immediately after inserting a row, there are different ways to
> > do this depending on how you're connecting to MySQL.
> >
> > PDO, for example, has a method called lastInsertId():
> > http://us2.php.net/manual/en/pdo.lastinsertid.php
> >
> > And the mysql_* family of functions has mysql_insert_id(), etc.
> >
> > Ben
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> 
Not if you use the functions built specifically for that, i.e. the ones
that Ben mentioned. In no circumstances should you ever do a "SELECT
MAX(id) FROM table". I've seen this done so many times by people who
should know better, and they even saw no problems when they ran tests
(that was, they tested the systems themselves, and only themselves) but
then it all fell down as soon as multiple users tried to use it.

Thanks,
Ash
http://www.ashleysheridan.co.uk




-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux