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
insert.

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,...)";
etc...

--

---John Holmes...

Amazon Wishlist: www.amazon.com/o/registry/3BEXC84AB3A5E/

php|architect: The Magazine for PHP Professionals – www.phparch.com

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



Reply via email to