如何通过 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;
当然,我假设要复制的表和列的名称,以及主键列。但它应该作为帮助您入门的通用示例。
关于mysql - 如何通过 shell 命令从 MySQL 转储中恢复单个特定列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48044755/