我的表中有一个字段,我需要移动到一个完全不同的数据库。此时,我有1个数据库db1
,其db1table
包含所有数据,而空数据库db2
包含db2table
。
db1表如下所示:
id other_db_id data_to_be_moved
---------------------------------------
1 NULL data
2 NULL data
3 NULL data
4 NULL data
5 NULL data
db2表看起来像这样:
id data
--------------
empty
我通常使用ORM来访问数据库,但这次我使用普通的mysql和php进行操作,所以需要一些帮助,尤其是我如何同时连接到2个数据库。
我想要做的是从db1 table
中选择前10条记录,阅读字段data_to_be_moved
并使用它在db2 table
中创建新记录。然后获取新插入记录的id并将其作为字段other_db_id
插回到原始数据库中。
我连接到单个数据库的方式是这样的。我如何同时访问这两个数据库?
$connection = mysql_connect("localhost", "db1user","db1pass");
mysql_select_db("db1", $connection);
我正在选择要操作的前10条记录,如下所示:
Select * From table Where Id BETWEEN 5 AND 10;
但我不知道如何继续切换数据库以实现我上面描述的内容。
答案 0 :(得分:1)
基本上你需要知道如何处理多个数据库。 以下视频将说明如何处理两个(或更多)数据库:video
答案 1 :(得分:1)
您可以将中间值存储到PHP变量中,然后切换数据库并执行操作。
答案 2 :(得分:0)
如果数据库位于同一服务器上,则可以使用语法
同时访问这两个表insert into db2.db2table
select other_db_id, data_to_be_moved
from db1.db1table;
这要求登录至少具有对其他数据库的选择权。
如果数据库位于不同的服务器上,则可以使用联合表:
答案 3 :(得分:0)
嗯,
$connection2 = mysql_connect("localhost", "db2user","db2pass");