2012-04-25 104 views
0

我試圖一列從一個表複製到另一個表(在兩個不同的數據庫)複製從一個表到另一在MySQL柱(兩個不同的數據庫)

我嘗試以下查詢:

update des_db.mytable as des 
set col= (select col from src_db.mytable as src where src.id = db.id) 

也加入這兩個表。
在這兩種解決方案中,我都收到錯誤「鎖的總數超過鎖表大小」。
我增加了「innodb_log_buffer_size到32M,它不工作

我想知道是否有任何解決方案要做到這一點

注意事項:。源表實際上是我的備份,它有。在相同的行數與其他人有(666666個記錄)

+0

我通過將整個備份表複製到當前數據庫來解決了我的問題,但是如果我更改了其他某些字段並且只想檢索特定列,我不知道該怎麼辦。 – 2012-04-25 14:39:39

回答

1

這樣,它應該工作:

UPDATE 
des_db.mytable 
INNER JOIN src_db.mytable ON des_db.mytable.id = src_db.mytable.id 
SET 
des_db.mytable.col = src_db.mytable.col; 

可惜我現在不能測試,但我敢肯定這個作品別名也應該工作。

0
UPDATE database1.table1, database2.table1 
SET database1.table1.columnA = database2.table1.columnA 
WHERE database1.table1.id = database2.table1.id; 
相關問題