查看从开始到现在MySQL增加了多少行(甚至删除了行)

See how many rows have been added to MySQL from the beginning to now (even deleted rows)

我有一个 python 代码和一个 table 添加行并在几分钟后删除它的代码。 我需要查看从开始到现在添加了多少行。

注意:我的 table 中也有一个主键。 注意:仅COUNT(*) returns 行数

MySQL中的查询只请求数据库的当前状态,因此您不能使用简单的查询来统计插入和删除的行数。 这个问题的通常解决方案是通过实现归档机制而不是简单的删除。

因此,您必须在 table 中添加一个新列来存储该行已存档的事实,并且每次您的应用程序必须删除一行时,它都会更新该列。然后一个简单的计数(*)将计算所有插入和归档的行。

下面是新专栏的一些想法(从最简单到最有用的,对以后的演进很有帮助):

  • 列名称是 deleted,它可以取 2 个值:0 或 1(布尔值)
  • 列名称是 status,它可以有 2 个值:“active”或“archived”
  • 列名称为 deleted_at,因此如果该行仍然有效则它为空,如果该行已存档则它包含删除的日期时间。

此外,此解决方案将为您的应用程序提供“取消存档”功能。