On 8/22/06, Artem Harutyunyan <[EMAIL PROTECTED]> wrote:

Hi,

Consider, please,  the following piece of code:
____________________________________________________________

{code fragment}
____________________________________________________________
It connects to the database, turns AutoCommit off, prepares the statement,
executes it, waits for 60 seconds and commits the statement.
Although I do not get any errors, it does not work as I expect. The
problem
is that I can see the new entry inside the table before $dbh->commit() is
called  from the code. The same problem appears also when $dbh->begin_work
is used.


Hi Artem

I don't have much experience w/MySQL but  my understanding with transactions
is that they only allow you roll back records within the transaction
block.   A good example is an acct receivable;

BEGIN TRANSACTION
   write a sales slip
   write a journal record
   write a check record
   COMMIT
END TRANSACTION

If the "write a check record" operation failed, you'd do a "ROLLBACK" and
there'd be no sales or journal record because otherwise your DB would be all
screwed up.

In short, it souds like you're seeing what would be expected-
if you want the "$dbh->commit" to be some sort of "trigger" maybe you need
to re-think your application a little bit.

Hoping this helps

KC

Reply via email to