2010-08-11 66 views
-1

我有一個有7000行的表,
我在這個表中增加了一個新列
表中有一個mysql DateTime。從SQL轉儲部分恢復?

當我更新的表,以填補在這個新表它更新的日期時間,

我把我所做的更新之前的SQL轉儲所以現在我需要使用SQL轉儲恢復日期時間回(並只有那一列)。

我該怎麼做?

回答

0

有幾種方法可以讓我想到做到這一點我的頭頂。

首先創建另一個mysql數據庫並將轉儲裝載到該數據庫中(確保它不會從轉儲中的使用命令加載到第一個數據庫中),然後使用該數據庫中的數據構造更新第一個查詢。

第二種更簡單,更冒險的方式是在文本編輯器中打開轉儲文件,取出該表格,然後查找並替換,以基於主鍵而不是插入方式爲該列創建更新語句。你需要能夠找到並替換模式。

第三種方法是將轉儲加載到抽象的SQL工具中,讓它爲您進行解析,然後從抽象語法樹中的數據中編寫新的查詢。

如果這不是一個實時系統,第四個可能性就是回滾並重新執行更新的轉換(只有它們很簡單)。

0

將轉儲還原到第二個表。從該表中選擇ID和日期時間。使用這些結果更新原始表中與您獲得的ID相對應的行。