一个事务,三个独立的数据库


One transaction, three separate databases

我同时使用3个MySQL数据库。我需要在3个不同的数据库中插入3行。

有可能用一个事务来完成这个吗?如果没有,有什么替代方法?

数据库是分开的。您不能在它们之间使用事务……那不可能。

你所能做的就是执行3个单独的insert。

现在,我假设您可以在每条上开始一个事务,插入3行,然后在每条上结束事务,但这可能无法实现您的最终目标,这取决于它是什么。


编辑:我可以纠正。详见:http://dev.mysql.com/doc/refman/5.1/en/xa.html

PHP不提供任何我所知道的分布式事务管理方式。你需要手动处理这个…也就是说,如果其中一个插入失败,则需要回滚其他db。

如果您不限于使用php, Java EE对此有支持。JTA