mysql - 如何在MYSQL 中的连续id 范围内找到已删除的id?

标签 mysql

例如,我有一些 id 范围从 1001 到 1500 的数据。

但是数据项的总数是400,少了500,删除了一些id。

我可以使用 SQL 获取这些已删除的 ID 吗?

id        name 

1001      name_1001
...

1500      name_1500

# select count(*) from table  400

谢谢~

最佳答案

您可以使用这些命令来恢复您的 mySQL 数据>

要从整个二进制日志文件中提取语句,请运行此命令:

mysqlbinlog mysql_bin.000001 | | mysql -u root -ppassword 数据库名

如果你想从几个二进制日志文件中提取丢失的数据,使用这个命令:

mysqlbinlog mysql_bin.000001 mysql_bin.000002 | mysql -u root -ppassword 数据库名

如果您知道此数据何时添加到数据库,则可以使用相关时间戳提取语句:

mysqlbinlog --start-datetime="2017-04-20 10:01:00"\--stop-datetime="2017-04-20 9:59:59"mysql_bin.000001\| mysql -u root -ppassword 数据库名

引用: https://www.eversql.com/oh-man-i-accidently-deleted-production-data-from-the-database/

关于mysql - 如何在MYSQL 中的连续id 范围内找到已删除的id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55393675/

相关文章:

mySQL - 如何解释我的 EXPLAIN 结果并优化此查询?

PHP date_format TIME 使用 Joomla 无法正确显示

python - 如何计算 SQL 行并使用 FLASK 将其存储在变量中,而不总是得到 1 作为答案?

mysql - 插入到不同表时更新外键

php - mysql_query 成功返回 false

php - yii2 下拉列表 onchange

php - 使用 CodeIgniter 上传文件

mysql - 使用MySQL获取大于0或小于0的总和

javascript - 需要有关数据库结构的建议

mysql - lambda查询RDS超时无报错