我同时使用3个MySQL数据库。我需要在3个不同的数据库中插入3行。
是否可以使用一个事务来完成此任务?如果没有,那么替代方法是什么?
答案 0 :(得分:2)
数据库是分开的。你不能在他们之间使用交易......这是不可能的。
您所能做的就是执行3个单独的INSERT。
现在,我想你可以在每个事件上开始一个事务,插入3行,然后在每个行上结束事务,但这可能无法实现你的最终目标,具体取决于它是什么。
编辑:我可能会更正。请参阅此处的信息:http://dev.mysql.com/doc/refman/5.1/en/xa.html
答案 1 :(得分:0)
PHP没有通过分布式事务管理提供我所知道的任何内容。您将需要手动处理...即如果其中一个插入失败,您将需要在其他dbs中回滚。
如果您不依赖于使用php,那么Java EE就支持这一点。 JTA