Bu konuya bazı büyük cevaplar sizin MySQL depolama motoru olarak InnoDB kullanmak ve MySQL 5.0.3 veya daha yüksek kullanıyorsanız, sizin açınızdan ya da herhangi bir ekstra çalışma için gerek kalmadan doğru dışarı kutunun iç içe geçmiş işlem olsun, ancak, vardır Bu Konuya başkaları tarafından tarif fantezi teknikleri herhangi bir.
From the MySQL docs on XA Transactions: strong>
MySQL 5.0.3 ve üstü XA işlemler için sunucu tarafı desteği sağlar. Şu anda, bu destek InnoDB depolama motoru için kullanılabilir. XA Özellikler: MySQL XA uygulama X / Open CAE belge Distributed Transaction Processing dayanmaktadır. Bu belge Open Group tarafından yayınlanan ve http://www.opengroup.org/public/pubs/catalog/c193.htm de mevcuttur. Geçerli XA uygulanması Sınırlamaları "XA İşlemleri Kısıtlamalar", Bölüm E.5 açıklanmıştır.
My XA Transaction Example Just For You: strong>
# Start a new XA transaction
XA START;
# update my bank account balance, they will never know!
UPDATE `bank_accounts` SET `balance` = 100000 WHERE `id` = 'mine';
# $100,000.00 is a bit low, I'm going to consider adding more, but I'm not sure so
# I will start a NESTED transaction and debate it...
XA START;
# max int money! woo hoo!
UPDATE `bank_accounts` SET `balance` = 2147483647 WHERE `id` = 'mine';
# maybe thats too conspicuous, better roll back
XA ROLLBACK;
# The $100,000 UPDATE still applies here, but the max int money does not, going for it!
XA COMMIT;
# Oh No! Sirens! It's the popo's!!! run!!
# What the hell are they using ints for money columns anyway! Ahhhh!
XA İşlemler için MySQL Dokümantasyon:
I <3 XA Transactions 4 Eva! b>