查看从开始到现在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
,因此如果该行仍然有效则它为空,如果该行已存档则它包含删除的日期时间。
此外,此解决方案将为您的应用程序提供“取消存档”功能。
我有一个 python 代码和一个 table 添加行并在几分钟后删除它的代码。 我需要查看从开始到现在添加了多少行。
注意:我的 table 中也有一个主键。
注意:仅COUNT(*)
returns 行数
MySQL中的查询只请求数据库的当前状态,因此您不能使用简单的查询来统计插入和删除的行数。 这个问题的通常解决方案是通过实现归档机制而不是简单的删除。
因此,您必须在 table 中添加一个新列来存储该行已存档的事实,并且每次您的应用程序必须删除一行时,它都会更新该列。然后一个简单的计数(*)将计算所有插入和归档的行。
下面是新专栏的一些想法(从最简单到最有用的,对以后的演进很有帮助):
- 列名称是
deleted
,它可以取 2 个值:0 或 1(布尔值) - 列名称是
status
,它可以有 2 个值:“active”或“archived” - 列名称为
deleted_at
,因此如果该行仍然有效则它为空,如果该行已存档则它包含删除的日期时间。
此外,此解决方案将为您的应用程序提供“取消存档”功能。