As long as you do the SELECT LAST_INSERT_ID() in the same transaction as the
INSERT itself, there's no issue. The value of the most recently generated id
is maintained per connection, and using a transaction guarantees that you'll
be using the same connection.

--
Martin Cooper


----- Original Message -----
From: "Morris Hirsch" <[EMAIL PROTECTED]>
To: "Tag Libraries Users List" <[EMAIL PROTECTED]>
Sent: Wednesday, May 01, 2002 10:35 AM
Subject: Re: JSTL: sql


> The problem is not about your own thread doing several related updates,
> but some other thread doing an INSERT just after you do,
> and before you get a chance to SELECT LAST_INSERT_ID()
>
> If there is any chance of it (anything except a single user can do it)
> you must ensure thread safety with either single-thread attribute,
> or synchronize (this) on the block.
>
> On Wed, 1 May 2002, Paul DuBois wrote:
>
> > At 12:56 -0400 5/1/02, Carole E. Mah wrote:
> > >Does anyone know if the JSTL database tags (<sql>) provide any method
for
> > >retrieving the unique ID of the row that was inserted last (when you
set
> > >up you mySQL database table to AUTO_INCREMENT the unique id).
> > >
> > >This is how I do it using PHP, which provides the mysql_insert_id()
> > >function for just this purpose:
> > >
> > >   $query = "INSERT INTO foo (name, phone) VALUES ('Jane
Doe','555-1212')";
> > >   $LINK = mysql_pconnect ($DB_SERVER, $DB_LOGIN, $DB_PASSWORD);
> > >   $result = mysql_db_query ("$DB", $query);
> > >   $my_id = mysql_insert_id($LINK);
> > >
> > >Thanks!
> > >
> > >-carole
> >
> > Don't know of any such thing in JSTL, but you can issue this query
> > to get the value from the server:
> >
> > SELECT LAST_INSERT_ID()
> >
> > --
> > To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
> >
> >
>
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to