首页 > 解决方案 > 将 MySQL 输出从 SELECT 查询转换为 UPDATE 查询

问题描述

我不小心搞砸了我正在维护的桌子。但是在搞砸之前,我做了一个'select * from tableName;' 以可读格式输出表中的所有内容并将其复制到 txt 文件中。

该表是不可恢复的,我没有做任何交易,所以我不能回滚。

我需要做的是将选择查询的结果输出转换为更新或创建表查询,这样我就可以将当前表恢复到执行“select * from tableName;”时的状态。询问。

我目前将选择查询输出存储在文本文件中,寻找解决此问题的方法。帮助将不胜感激。

注意:无法手动执行此操作,因为该表包含数百行

标签: mysql

解决方案


鉴于此处的示例行:

|         7 | start_of_week                                                      | 1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | yes      |

您可以先丢弃文本文件中的所有空格。在 linux 上使用以下sed命令:

sed 's/ \+//g' data.txt > data2.txt


data2.txt将是您没有空格的新文本文件。在 Windows 上,您可以使用高级文本编辑器来搜索替换所有空格以删除它们。

文本文件现在看起来像这样:

|7|start_of_week|1|yes|
|8|use_balanceTags|0|yes|
|9|use_smilies|1|yes|

使用以下 mysql 命令加载数据:

mysql> load data infile 'data2.txt' replace into table wp_options fields terminated by '|' lines terminated by '|\n' starting by '|';


推荐阅读