1

我有两个结构相同的mysql数据库。

我想将选定的数据从一个数据库转移到另一个数据库。

其中一个表包含多行数据,我正在查看循环遍历行并插入到第二个数据库表中,但意识到一旦我连接到第二个数据库,我将失去与第一个数据库的连接,并且循环将失败。

是一种健壮且“正确”的做法,而不是创建一个数组,然后在数组的第二个数据库中运行插入循环?

目前我正在使用两个不同的凭证来访问每个数据库。

我使用的 API 函数是 mysql_query 和 mysql_insert。

我需要这样做的原因是我有一个后端系统,允许我将模板上传到服务器,有些是实时的,有些不是。

第二个数据库保存用户详细信息和他们选择的任何模板的详细信息。

顺便说一句,我正在使用 php。

非常感谢,我希望我不是要你用勺子喂我

干杯巴里

4

2 回答 2

1

您可以通过在 mysql_* 函数中使用 $link_identifier 参数同时使用 2 个连接:

$connection1 = mysql_connect('host1', 'user1', 'password1');
$connection2 = mysql_connect('host2', 'user2', 'password2');

... 

$resource = mysql_query('SELECT .....', $connection1);

...

mysql_query('INSERT .....', $connection2);

...

mysql_close($connection1);
mysql_close($connection2);
于 2013-02-18T11:07:28.150 回答
0
  1. mysql_connect 有一个额外的参数new_link
  2. mysql_connect 返回一个连接资源。
  3. mysql_* 函数可以使用该资源变量在特定连接上进行调用。

因此,只需创建 2 个返回其资源的连接,然后使用这些资源变量告诉 mysql_query() 使用哪个数据库

于 2013-02-18T10:38:07.727 回答