【问题标题】:How to restore single specific column from MySQL dump via shell command?如何通过 shell 命令从 MySQL 转储中恢复单个特定列?
【发布时间】:2018-01-01 03:11:38
【问题描述】:

如何通过 ssh 命令从 MySQL 转储中仅恢复某一列?

要恢复整个数据库,它是这样的:

mysql -u [user] -p[pass] db < db_dump.sql 

但我只需要恢复其中一个表中的特定列。

非常感谢任何建议。

【问题讨论】:

    标签: mysql ssh


    【解决方案1】:

    转储文件包含恢复整行而不是单个列的 INSERT 语句。所以你不能只恢复一列。

    你可以做的是将它恢复到第二个数据库

    mysqladmin -u [user] -p[pass] create db2 
    mysql -u [user] -p[pass] db2 < db_dump.sql 
    

    然后你就可以进入SQL环境,将一列复制到主数据库的相应行上。

    mysql> UPDATE db.mytable JOIN db2.mytable USING (id)
           SET db.one_column = db2.one_column;
    

    我当然会假设要复制的表和列的名称以及主键列。但它应该作为一个通用示例来帮助您入门。

    【讨论】:

    • 就可以了,完美!谢谢你。 :)
    猜你喜欢
    • 2021-10-02
    • 2012-08-13
    • 2011-07-22
    相关资源
    最近更新 更多