Karena Anda ingin melakukan transaksi terdistribusi , Anda memerlukan protokol komit dua fase .
Anda memulai transaksi di kedua database seperti biasa, tetapi alih-alih menjalankannya, Anda menjalankan
PREPARE TRANSACTION 'some_name';
Ini melakukan semua yang mungkin gagal selama komit dan mempertahankan transaksi. Setelah berhasil, jalankan perintah berikut di kedua database:
COMMIT PREPARED 'some_name';
untuk melakukan transaksi.
Jika ada yang gagal selama PREPARE TRANSACTION
, Anda menjalankan yang berikut untuk menyingkirkan transaksi yang sudah disiapkan:
ROLLBACK PREPARED 'some_name';
Perhatikan bahwa Anda membutuhkan perangkat lunak manajer transaksi jika Anda menggunakan transaksi yang telah disiapkan, sehingga setiap transaksi yang disiapkan yang tertinggal setelah crash atau masalah tak terduga lainnya dapat dibersihkan dengan andal. Transaksi siap yang tidak dilakukan atau dibatalkan akan tetap ada selamanya dan dengan pasti akan menghancurkan database Anda.