Protože chcete provést distribuovanou transakci , potřebujete dvoufázový protokol potvrzení .
Zahájíte transakce na obou databázích jako obvykle, ale místo jejich potvrzení spustíte
PREPARE TRANSACTION 'some_name';
Tím se provede vše, co by mohlo během potvrzování selhat, a transakce se zachovají. Jakmile se to podaří, spustíte na obou databázích následující:
COMMIT PREPARED 'some_name';
k potvrzení transakcí.
Pokud během PREPARE TRANSACTION
cokoli selže , spustíte následující, abyste se zbavili již připravených transakcí:
ROLLBACK PREPARED 'some_name';
Upozorňujeme, že potřebujete software správce transakcí, pokud používáte připravené transakce, takže všechny připravené transakce, které zůstanou po havárii nebo jiném neočekávaném problému, budou spolehlivě vyčištěny. Připravené transakce, které nejsou potvrzeny nebo vráceny zpět, zůstanou navždy a s naprostou jistotou rozbijí vaši databázi.