下午好, 我有许多旧的备份文件(使用mysqldump创建)完全备份我的数据库(表结构,数据和过程)。 现在我必须在表中将列CHAR(5)更改为VARCHAR(7),但我希望我的旧备份与新结构兼容。我可以只恢复这些旧备份中的数据吗? 对于未来,我已经将我的PHP脚本更改为仅使用mysqldump中的--no-crete-info选项备份数据。
非常感谢 卢卡
答案 0 :(得分:0)
为什么不将mysql转储上传到PhpMyAdmin,然后使用编辑Structure选项卡将列从CHAR(5)更改为VARCHAR(7)。如果您不太确定如何编辑文件转储,这似乎是您最简单的选择。
答案 1 :(得分:0)
处理此数据定义更改的最佳方法是执行此操作。
ALTER TABLE mytable MODIFY mycolumn VARCHAR(5);
然后你就会开始运转。您可以再次启动应用程序,也可以进行其他备份。最后,可能想要发出此命令。
UPDATE mytable SET mycolumn = TRIM(mycolumn)
处理旧列值中的潜在尾随空格。