下午好,我有许多旧的备份文件(用mysqldump创建),它们完全备份了我的数据库(表结构、数据和过程)。现在,我必须将表中的列CHAR(5)更改为VARCHAR(7),但我希望我的旧备份与新结构兼容。我是否可以从这些旧备份中仅恢复数据?为了将来,我已经更改了我的php脚本,在mysqldump中使用--no-crete-info选项只备份数据。
谢谢你,卢卡
发布于 2015-10-17 19:58:11
为什么不将mysql转储上传到PhpMyAdmin,然后使用编辑结构选项卡将列从CHAR(5)更改为VARCHAR(7)。如果您不太确定如何编辑文件转储,这似乎是最简单的选择。
发布于 2015-10-17 20:25:57
处理这种数据定义更改的最好方法是就地进行。
在更改之前进行备份。ALTER TABLE mytable MODIFY mycolumn VARCHAR(5);
然后你就可以启动并运行了。您可以重新启动您的应用程序,并且可以进行另一次备份。最后,您可能想要发出此命令。
UPDATE mytable SET mycolumn = TRIM(mycolumn) 来处理旧列值中潜在的尾随空格。
https://stackoverflow.com/questions/33186285
复制相似问题