在我当前的项目中,我正在尝试检查 MySQL 数据库:MySQL 数据库由另一个程序更新,因此我的 C++ 程序只需要选择新行。它不会是一个小表(>10000 行),所以我不想搜索每一行。即检查像isNew=0 或=1 这样的列。我已经发现:
http://www.codediesel.com/mysql/how-to-check-when-a-mysql-table-was-last-updated/
但是,在此示例中,您只能获取已更新的表。如何仅从表中选择新行?
在我当前的项目中,我正在尝试检查 MySQL 数据库:MySQL 数据库由另一个程序更新,因此我的 C++ 程序只需要选择新行。它不会是一个小表(>10000 行),所以我不想搜索每一行。即检查像isNew=0 或=1 这样的列。我已经发现:
http://www.codediesel.com/mysql/how-to-check-when-a-mysql-table-was-last-updated/
但是,在此示例中,您只能获取已更新的表。如何仅从表中选择新行?
如何仅从表中选择新行?
假设新行意味着新插入,并且如果您可以更改数据库架构,则可以使用自动增量列。通过在程序每次选择结果集时记住最大值,它可以保存该值以供下一个查询使用:
select * from table where id > 123
我建议向isNew
表中添加一个默认值为 1 的列并在其上添加一个索引。该索引将阻止您的查询检查所有行。处理完行后,设置isNew
为 0。