【发布时间】:2018-01-01 03:11:38
【问题描述】:
如何通过 ssh 命令从 MySQL 转储中仅恢复某一列?
要恢复整个数据库,它是这样的:
mysql -u [user] -p[pass] db < db_dump.sql
但我只需要恢复其中一个表中的特定列。
非常感谢任何建议。
【问题讨论】:
如何通过 ssh 命令从 MySQL 转储中仅恢复某一列?
要恢复整个数据库,它是这样的:
mysql -u [user] -p[pass] db < db_dump.sql
但我只需要恢复其中一个表中的特定列。
非常感谢任何建议。
【问题讨论】:
转储文件包含恢复整行而不是单个列的 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;
我当然会假设要复制的表和列的名称以及主键列。但它应该作为一个通用示例来帮助您入门。
【讨论】: