Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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 Laravel 4-将表从一个数据库复制到另一个数据库_Mysql_Database_Laravel - Fatal编程技术网

Mysql Laravel 4-将表从一个数据库复制到另一个数据库

Mysql Laravel 4-将表从一个数据库复制到另一个数据库,mysql,database,laravel,Mysql,Database,Laravel,我正在使用Laravel4构建一个使用大量mysql数据库的站点,其中每个数据库都有多个表。数据库的结构和组织不在我的控制范围内 我需要能够在运行时将一个表从一个数据库复制到另一个数据库中(源数据库和目标数据库(以及源数据库中的特定表取决于用户的选择) 使用mysql复制表很容易: CREATE TABLE database2.new_table LIKE database1.original_table; INSERT INTO database2.new_table SELECT * FRO

我正在使用Laravel4构建一个使用大量mysql数据库的站点,其中每个数据库都有多个表。数据库的结构和组织不在我的控制范围内

我需要能够在运行时将一个表从一个数据库复制到另一个数据库中(源数据库和目标数据库(以及源数据库中的特定表取决于用户的选择)

使用mysql复制表很容易:

CREATE TABLE database2.new_table LIKE database1.original_table;
INSERT INTO database2.new_table SELECT * FROM database1.original_table;
但我想不出如何与拉威尔合作

我可以通过创建各自的连接(“mysql1”和“mysql2”)轻松访问每个数据库,但我不知道如何构造语句来同时使用这两个连接

$success = DB::connection('mysql2')->statement('CREATE TABLE new_table LIKE database1.original_table);
因为我试图在不使用“mysql1”连接的情况下直接访问database1,而Laravel生成了一个错误,表示database1.original_表不存在


我觉得解决方案应该是显而易见的,但没有足够的Laravel经验来解决这个问题。任何指导都将不胜感激。

您是否需要每个数据库精确地相互镜像?因此,您最终会得到两个彼此保持同步的数据库。或者Laravel应用程序维护的数据库是否会在p的行数比原始数据库的行数多?复制数据库的行数通常会减少,但最终可能会增加,这取决于用户后续的操作/选择。最初,我将使用SELECT从原始数据库中提取特定行。为了简单起见,我将其显示为SELECT*。我必须执行类似的操作在我的一个项目中,我刚刚使用在线找到的php脚本创建了整个数据库的备份,在另一个数据库中,我使用
DB::unprepared()执行备份文件中的整个SQL语句
Laravel的方法。我想我理解你的意思-我会深入研究一下,看看我是否能想出办法。不过,我也想在Laravel中找到一种方法。我必须相信,在很多情况下,人们希望使用来自两个不同数据库的表。