当前位置: 首页 > 面试题库 >

错误的MySQL更新查询后恢复?

秦凯定
2023-03-14
问题内容

我在表中输入了错误的更新查询。

我忘记在WHERE子句中创建一个id字段。

这样就更新了我所有的行。

如何恢复呢?

我没有备份…。


问题答案:

抱歉,恢复被覆盖的MySQL数据库的机会通常接近零。与删除文件不同,在大多数情况下,覆盖记录实际上会物理覆盖现有数据。

为了准备好发生任何事情,您应该停止MySQL服务器,并复制包含数据库的物理目录,这样就不会进一步覆盖任何内容:只需将数据文件夹简单地复制+粘贴到另一个位置即可。

但是不要抱有希望-我认为没有什么可以真正完成的。

您可能希望将来设置频繁的数据库备份。周围有很多解决方案。MySQL自己的
mysqldump

是最简单,最可靠和最容易实现自动化的一种(使用atcron在Linux中,或在Windows中使用任务计划程序)。
****



 类似资料:
  • 问题内容: 我在选择要使用的子查询上遇到问题。我正在尝试以下操作: 具有主键的表名在哪里?并且类型为INT。执行此操作时,出现以下错误: 问题答案: 从这篇网络文章 发生此错误的原因是,当您在内部选择中还使用同一表作为更新条件时,MySQL不允许对表进行更新。本文继续提供一种解决方案,即使用临时表。 使用此示例,您的更新应为:

  • 问题内容: 谁能帮助我了解为什么此更新查询未更新数据库中的字段?我在我的php页面中有这个来从数据库中检索当前值: 这是我的HTML表单: 这是我的“ editblogscript”: 我不明白为什么它不起作用。 问题答案: 您必须在查询中的所有VARCHAR内容周围加上单引号。因此,您的更新查询应为: 同样,用POST中的内容直接更新数据库是一种不好的形式。您应该使用mysql_real_esc

  • 问题内容: 谁能看到以下查询出了什么问题? 当我运行它时,我得到: #1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第8行的’a where a.CompetitionID = Competition.CompetitionID’附近使用 问题答案: 主要问题是内部查询不能与外部语句上的子句相关,因为在内部子查询执行之前,where过滤器首先应用于要

  • 我遇到了这个错误。 com.mysql.jdbc.exceptions.jdbc4。您有一个错误,在您的SQL语法;检查手册,对应于您的MySQL服务器版本的正确的语法使用附近'like='1',不喜欢='0',mealID='17'WHERE mealID='17"在第1行在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)在

  • 问题内容: 我正在尝试使用以下查询更新表 但是,出现以下异常: 错误代码:1175。您正在使用安全更新模式,并且尝试在不使用使用KEY列的WHERE的情况下更新表。要禁用安全模式,请在“首选项”->“ SQL查询”中切换选项,然后重新连接。 当我给子句提供类似的更新时,它更新了该特定内容。 有人可以指出为什么我无法执行查询以及如何解决该问题吗? 问题答案: 看一下: http://justalit

  • 我需要更新我的数据库,它是基于locationId的多行软删除 当我运行查询时,我得到一个错误: 错误代码:1175。您使用的是安全更新模式,并且您试图更新一个没有使用键列禁用安全模式的表,请在“首选项”中切换该选项- 正如我所知,子查询将返回两条记录,因为子查询返回两条记录更新不会发生,但我如何解决这个问题。我试图解决这个问题,但没有成功。