Ok Dan. Thanks a lot for your answer.
An other doubt about transaction is in the foreign key case. If in a transaction i insert a certain register and get the last insert id and after i try to insert another register using this id because this table has a foreign key, it gives me a contstraint fail for the foreign key, that is, in a transaction, the inserts do not get inserted until commit and i can't insert registers in tables that has foreign key in the previous table. Do you know how can i do this? Thanks. "Dan Nelson" <[EMAIL PROTECTED]> escreveu na mensagem news:[EMAIL PROTECTED] > In the last episode (Jul 22), Jo?o C?ndido de Souza Neto said: >> I've getting something wrong in transaction in Mysql 5.0.22 on >> windows that i don't know way it's happen. >> >> I've got a script in php which starts a transaction and when if fails >> and rollbacks, the autoincrement do not back. >> >> e.g. >> >> If in transaction some field auto increment gets the value 4 and this >> transaction fails, in the next transaction it gets the value 5. > > The autoincrement value is metadata outside of any table values and is > not subject to transaction rollback. Consider the case where you > insert one row in each of two separate connections, getting, say, > values 4 and 5. Then you rollback the first one. The autoincrement > counter is now at 6 and you're never going to get another 4. I guess > mysql could decrement the autoincrement counter if only one new row has > been reserved but not committed, but that's a lot of work for little > gain. > > -- > Dan Nelson > [EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]