Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL——涉及3个不同数据库中的表的事务?_Mysql - Fatal编程技术网

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
)?