Stuart Felenstein wrote:

But - I want to confirm, am I still using transactions
even though I'm issuing individual query calls for
each insert.

Yes, that's the idea. Everthing between BEGIN and COMMIT/ROLLBACK is the transaction.

In this line (from the second insert)
VALUES (null, LAST_INSERT_ID(), ......)";

The LAST_INSERT_ID works great here, getting the
auto-inc from the first insert, but will it work in
subsequent insertions to other tables.

I ask because in the second insert (shown), the
LAST_INSERT_ID, gets the value from the first table,
but the second table (second insert) also has an
auto-inc column. So I'm thinking then the third
insert will get the LAST_INSERT_ID from table 2 / 2nd

Yes, that's what will happen. LAST_INSERT_ID() picks up the last auto_increment number created.

Perhaps I need to declare it the first time as a value
(app code) or add "where" conditions to all the
subsequent insertions ?

You can get the auto_increment number using mysql_insert_id(), save it in a variable and then use that in subsequent queries.

$query1 = "INSERT INTO ... ";
$id = mysql_insert_id();

$query2 = "INSERT INTO (id,...) VALUES ($id,...)";

$query3 = "INSERT INTO (id,...) VALUES ($id,...)";


---John Holmes...

Amazon Wishlist:

php|architect: The Magazine for PHP Professionals –

PHP Database Mailing List (
To unsubscribe, visit:

Reply via email to