2015-10-26 72 views
0

我有一個MySQL數據庫mydb和一個數據庫在測試環境mytestdb其鏡像mydb。我需要一種從測試數據庫向活動數據庫「推送更改」的方式。所以在僞代碼中的程序會像更換表格的正確方法是什麼?

for each table T in mydb 
    delete all from T 
    T' = corresponding table in mytestdb 
    for each row R in T' 
     insert R in T 

或者我應該做的程序不同?這個設置有任何潛在的問題?

回答

1

計劃A:

DROP TABLE x; 
Create and Load its replacement. 

B計劃(更適合在現場情況重裝表):

CREATE TABLE new LIKE real; 
LOAD TABLE new ...      -- slowest step 
RENAME TABLE real TO old, new TO real; -- atomic and 'instantaneous' 
DROP TABLE old; 
相關問題