Re: last_insert_id function
| From: | Alain Fontaine | Date: | Wed, 24 Jan 2001 10:16:08 +0000 |
| Subject: | Re: last_insert_id function | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-36381@lists.php.net to get a copy of this message | ||
Hi,
Anyway, as far as I know, mysql_insert_id() is just a PHP implementation
calling the exact same code as mySQL's internal last_insert_id() function;
except for the drawback with the BIGINT thing, the functionality should be
exactly the same for both.
"Maxim Maletsky" <maxim.maletsky@japaninc.net> a écrit dans le message news:
DC017B079D81D411998C009027B7112AA9348F@EXC-TYO-01...
> I am not really sure about this one, but the first thing I would do is
that
> I would try it.
>
> It could be though ...
>
> Cheers,
> Maxim Maletsky
>
> -----Original Message-----
> From: Jacky@lilst [mailto:jacky@activelifestyle.com]
> Sent: Thursday, January 25, 2001 7:53 AM
> To: Maxim Maletsky; 'Mark Lipscombe'
> Cc: php-general@lists.php.net
> Subject: Re: [PHP] last_insert_id function
>
>
> 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
> > >
> >
>
>
> --
> 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
>
> --
> 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
>