MySQL——涉及3个不同数据库中的表的事务?
在MySQL——涉及3个不同数据库中的表的事务?,mysql,Mysql,在MySQL中,我有三个不同的数据库——我们称它们为A,B和C 是否可以执行涉及所有三个数据库(a,B,C)中的表的事务?(所有数据库都在同一台服务器上)可以。这是一个演示查询: select (SELECT count(*) FROM `A`.`tableInA`), (SELECT count(*) FROM `B`.`tableInB`), (SELECT count(*) FROM `C`.`tableInC`); SELECT * FROM `A`.`ta
MySQL
中,我有三个不同的数据库——我们称它们为A
,B
和C
是否可以执行涉及所有三个数据库(
a
,B
,C
)中的表的事务?(所有数据库都在同一台服务器上)可以。这是一个演示查询:
select (SELECT count(*) FROM `A`.`tableInA`),
(SELECT count(*) FROM `B`.`tableInB`),
(SELECT count(*) FROM `C`.`tableInC`);
SELECT * FROM `A`.`tableInA`
where fieldInA in (SELECT fieldInAB FROM `B`.`tableInB`
where fieldInB in (select fieldInBC from `C`.`tableInC`));
另一个演示查询:
select (SELECT count(*) FROM `A`.`tableInA`),
(SELECT count(*) FROM `B`.`tableInB`),
(SELECT count(*) FROM `C`.`tableInC`);
SELECT * FROM `A`.`tableInA`
where fieldInA in (SELECT fieldInAB FROM `B`.`tableInB`
where fieldInB in (select fieldInBC from `C`.`tableInC`));
是的,你可以。这是一个演示查询:
select (SELECT count(*) FROM `A`.`tableInA`),
(SELECT count(*) FROM `B`.`tableInB`),
(SELECT count(*) FROM `C`.`tableInC`);
SELECT * FROM `A`.`tableInA`
where fieldInA in (SELECT fieldInAB FROM `B`.`tableInB`
where fieldInB in (select fieldInBC from `C`.`tableInC`));
另一个演示查询:
select (SELECT count(*) FROM `A`.`tableInA`),
(SELECT count(*) FROM `B`.`tableInB`),
(SELECT count(*) FROM `C`.`tableInC`);
SELECT * FROM `A`.`tableInA`
where fieldInA in (SELECT fieldInAB FROM `B`.`tableInB`
where fieldInB in (select fieldInBC from `C`.`tableInC`));
@哈利·乔伊:谢谢。您使用
SELECT
演示了一个查询。我的问题是,是否可以执行涉及(比如)3个数据库的事务。试试看,让我知道。@Harry Joy:谢谢。在这种情况下,表使用什么引擎(MyISAM
/InnoDB
)重要吗?@user540009:所有表都应该在同一个东西中。@Harry Joy:意思是,事务中涉及的所有表都应该是同一个引擎(比如,InnoDB
)?@Harry Joy:谢谢。您使用SELECT
演示了一个查询。我的问题是,是否可以执行涉及(比如)3个数据库的事务。试试看,让我知道。@Harry Joy:谢谢。在这种情况下,表使用什么引擎(MyISAM
/InnoDB
)重要吗?@user540009:所有表都应该在同一个东西中。@Harry Joy:意思是,事务中涉及的所有表都应该是同一个引擎(比如,InnoDB
)?