Могу ли я выполнить транзакцию через две базы данных MySQL?

Могу ли я сделать?

Start transaction;

insert into db1.table1 (field1) values (100),(100);

insert into db2.table2 (field2) values (100),(100);

commit;

Или это не сработает?

Ответы

Ответ 1

Да, вы можете:

MySQL 5.0.3 и выше серверная поддержка XA сделки. В настоящее время эта поддержка доступно для хранилища InnoDB движок.. Реализация MySQL XA на основе документа X/Open CAE Обработка распределенных транзакций: Спецификация XA. Этот документ опубликованные The Open Group и доступно на сайте http://www.opengroup.org/public/pubs/catalog/c193.htm. Ссылка: XA-транзакции