2013-04-15 35 views
0

我已經搜索了許多問題,並準備了許多關於此問題的不同文章,但沒有人似乎幫助我或可能無法完全理解。我想將數據從一個數據庫遷移到另一個數據庫。
這是我的查詢數據遷移查詢

$query = mysql_query(" 
    Insert into database2.table2 (id, data) 
    select (id, name) from database1.table1 
"); 
if($query == false){ 
    die(mysql_error()); 
} 

當我執行此查詢它顯示我此錯誤信息這實在是煩人操作數應包含1列(S)

我搜索一下,但什麼也沒有發現這可以幫助我。

說明:該查詢最初是針對我的測試用例。實際查詢將在稍後進行。

回答

1

嘗試此查詢(從選擇字段刪除括號),

INSERT into database2.table2 (id, data) SELECT id, name from database1.table1 

說明:Please, don't use mysql_* functions in new code。他們不再維護and are officially deprecated。請參閱red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。如果您選擇PDO,here is a good tutorial

+0

哦!感謝Rikesh,我沒有注意到我在SELECT中使用括號。 –

+0

@HoNeY - 很高興爲您效勞。請不要忘記通過點擊左側的複選標記來接受我的答案。 – Rikesh

+0

如果數據太大會怎麼樣?這個查詢可以處理大型數據庫嗎? –

0

select (id, name) 

select id, name 

最終結果中去除括號:

$query = mysql_query("Insert into database2.table2 (id, data) select id, name from database1.table1"); 
+0

真的很欣賞你的答案。謝謝,但我已經打勾了一個問題,如果數據很大,這個查詢會減慢我的電腦嗎? –