Mysql只恢复数据

时间:2015-10-17 11:51:55

标签: php mysql

下午好, 我有许多旧的备份文件(使用mysqldump创建)完全备份我的数据库(表结构,数据和过程)。 现在我必须在表中将列CHAR(5)更改为VARCHAR(7),但我希望我的旧备份与新结构兼容。我可以只恢复这些旧备份中的数据吗? 对于未来,我已经将我的PHP脚本更改为仅使用mysqldump中的--no-crete-info选项备份数据。

非常感谢 卢卡

2 个答案:

答案 0 :(得分:0)

为什么不将mysql转储上传到PhpMyAdmin,然后使用编辑Structure选项卡将列从CHAR(5)更改为VARCHAR(7)。如果您不太确定如何编辑文件转储,这似乎是您最简单的选择。

答案 1 :(得分:0)

处理此数据定义更改的最佳方法是执行此操作。

  1. 在更改前进行备份。
  2. 让您的应用程序脱机,因此没有人试图访问数据库。
  3. 发出命令ALTER TABLE mytable MODIFY mycolumn VARCHAR(5);
  4. 然后你就会开始运转。您可以再次启动应用程序,也可以进行其他备份。最后,可能想要发出此命令。

    UPDATE mytable SET mycolumn = TRIM(mycolumn) 
    

    处理旧列值中的潜在尾随空格。