Sorry if this is a dumb question, but are SQL transactions in MySQL atomic?
I'm using InnoDB tables in MySQL5.

Clearly, transactions have the property that either all updates occur or
none do.  By atomic, I mean are other queries guaranteed to either see all
changes from the transaction or none of them?

An obvious example of the potential problem if they are not atomic (with
regards to visibility):

Transaction {
  Query1 - update credits_table with +$20
  Query2 - update debits_table with -$20
}

Separate process running periodically:
  Query3 - compute total credits and debits

Could query3 ever see the total of credits and debits as being out of
balance?

If the transaction doesn't guarantee that, is there any other way to force
atomic visibility?

Doug



-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to