大家下午好, 我有很多舊的備份文件(用mysqldump創建),完全備份我的數據庫(表結構,數據和過程)。 現在我必須在表中將列CHAR(5)更改爲VARCHAR(7),但我希望我的舊備份與新結構兼容。我可以只從這些舊備份還原數據嗎? 未來,我已經改變了我的PHP腳本,只備份mysqldump中的--no-crete-info選項。Mysql只恢復數據
非常感謝 盧卡
大家下午好, 我有很多舊的備份文件(用mysqldump創建),完全備份我的數據庫(表結構,數據和過程)。 現在我必須在表中將列CHAR(5)更改爲VARCHAR(7),但我希望我的舊備份與新結構兼容。我可以只從這些舊備份還原數據嗎? 未來,我已經改變了我的PHP腳本,只備份mysqldump中的--no-crete-info選項。Mysql只恢復數據
非常感謝 盧卡
你爲什麼不上傳MySQL的轉儲到phpMyAdmin然後更改爲VARCHAR(7)使用編輯結構選項卡(5)從CHAR的列。如果你不太確定如何編輯文件轉儲,這似乎是你最簡單的選擇。
處理這個數據定義更改的最好方法就是做到這一點。
ALTER TABLE mytable MODIFY mycolumn VARCHAR(5);
然後你就會被啓動和運行。您可以再次啓動應用程序,並且可以進行另一次備份。最後你可能想發出這個命令。
UPDATE mytable SET mycolumn = TRIM(mycolumn)
用於處理舊列值中潛在的尾隨空格。
我沒有PhpMyAdmin。我用腳本創建我的數據庫。我已經修改了.sql腳本,但是如果我還原舊備份,實際表列VARCHAR(7)將被CHAR(5)覆蓋, –