Re: last_insert_id function

From: Date: Wed, 24 Jan 2001 22:53:22 +0000
Subject: Re: last_insert_id function
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-36376@lists.php.net to get a copy of this message
Can we store the value retrieved by last_insert_id for later use? say we want to related 3 queries together and under that case, we will then need to store the first "last_insert_id value" somewhere and then retrive the second "last_insert_id value" from the second insert query before both values will be inserted into the third query. Can we do that? If not, I will have to come back to mysql_insert_id(); but it won't work with a field with data type BIGINT, will it? So I guess I would have to change the data type too, right? please enlighten me about this Thank Jack jacky@activelifestyle.com "There is nothing more rewarding than reaching the goal you set for yourself" ----- Original Message ----- From: Maxim Maletsky <maxim.maletsky@japaninc.net> To: 'Mark Lipscombe' <mark@itgarp.com> Cc: 'Jacky@lilst' <jacky@activelifestyle.com>; <php-general@lists.php.net> Sent: Wednesday, January 24, 2001 3:36 AM Subject: RE: [PHP] last_insert_id function > no it will keep it very well. In fact most common errors with this function > is that it still keeps the same value when you do something wrong. > > This issue is described in more details on every single manual that has > LAST_INSERT_ID() in it - read where you found it ... it is written there ... > I am sure ... > > However, on my opinion this function is very reliable. I use it a lot when > have to create a script which splits some few huge tables into a dozen of > well designed ones. Because redesigning the database you really have to > relate your data to each other. LAST_INSERT_ID() does a good job. > > Cheers, > Maxim Maletsky > > -----Original Message----- > From: Mark Lipscombe [mailto:mark@itgarp.com] > Sent: Thursday, January 25, 2001 5:28 AM > To: Maxim Maletsky > Cc: 'Jacky@lilst'; php-general@lists.php.net > Subject: RE: [PHP] last_insert_id function > > > Someone jump in here and correct me if I'm wrong, but by the time you > get around to executing the second query, LAST_INSERT_ID() from MySQL > isn't necessarily going to be the desired value, because another record > may well have been inserted in that time? > > On 24 Jan 2001 18:25:27 +0900, Maxim Maletsky wrote: > > for example: > > > > $SQL = "INSERT INTO users SET name='Maxim', > > surname='Maletsky'"; > > > > now you have to insert into another table where you need to relate that > user > > to the entry: > > > > $SQL2 = "INSERT INTO questions SET question='how did you sleep?', > > made_by=LAST_INSERT_ID()"; > > > > LAST_INSERT_ID() will be here equal to the auto_incremented id of the > first > > $SQL statement. > > > > Hope this helps, > > Maxim Maletsky > > > > > > -----Original Message----- > > From: Jacky@lilst [mailto:jacky@activelifestyle.com] > > Sent: Thursday, January 25, 2001 7:16 AM > > To: php-general@lists.php.net > > Subject: [PHP] last_insert_id function > > > > > > I got this quote right out of the php manual. My Id field happen to be > type > > BIGINT as it said so I tried using LAST_INSERT_ID(); and turn out to be > > error said "unidentified function". Any clue? > > ******************************************* > > mysql_insert_id() converts the return type of the native MySQL C API > > function mysql_insert_id() to a type of long. If your AUTO_INCREMENT > column > > has a column type of BIGINT, the value returned by mysql_insert_id() will > be > > incorrect. Instead, use the internal MySQL SQL function LAST_INSERT_ID(). > > ******************************************** > > Jack > > jacky@activelifestyle.com > > "There is nothing more rewarding than reaching the goal you set for > > yourself" > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net > > For additional commands, e-mail: php-general-help@lists.php.net > > To contact the list administrators, e-mail: php-list-admin@lists.php.net > > >

« previous php.general (#36376) next »