2012-09-22 32 views
0

我在我的表中有一個字段,我需要移動到一個完全不同的數據庫。在這一點上,我有1個數據庫db1具有db1table具有所有數據,並有一個空數據庫db2具有db2table同時連接到2個數據庫將字段複製到另一個數據庫

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個數據庫。

我想要做的是從​​中選擇前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; 

,但我不知道如何與數據庫的切換,努力實現什麼上述我。

+1

嘗試看看http://stackoverflow.com/questions/274892/怎麼辦 - 你 - 連接到多的MySQL的數據庫,上一單網頁 –

回答

1

基本上你需要知道如何處理多個數據庫。 以下視頻將解釋如何處理兩個(或更多)數據庫:video

1

您可以將中間值存儲到PHP變量中,然後切換數據庫並執行您的操作。

0

如果數據庫是同一臺服務器上,你可以通過使用語法訪問在同一時間兩個表:

insert into db2.db2table 
select other_db_id, data_to_be_moved 
from db1.db1table; 

這需要登錄至少到其他數據庫選擇訪問。

如果數據庫是不同的服務器上,你可以使用聯合表格:

http://dev.mysql.com/doc/refman/5.0/en/federated-use.html

0

嗯,

$connection2 = mysql_connect("localhost", "db2user","db2pass"); 
相關問題