2

在我当前的项目中,我正在尝试检查 MySQL 数据库:MySQL 数据库由另一个程序更新,因此我的 C++ 程序只需要选择新行。它不会是一个小表(>10000 行),所以我不想搜索每一行。即检查像isNew=0 或=1 这样的列。我已经发现:

查询过去一小时内修改过的表

http://www.codediesel.com/mysql/how-to-check-when-a-mysql-table-was-last-updated/

但是,在此示例中,您只能获取已更新的表。如何仅从表中选择新行?

4

2 回答 2

4

如何仅从表中选择新行?

假设新行意味着新插入,并且如果您可以更改数据库架构,则可以使用自动增量列。通过在程序每次选择结果集时记住最大值,它可以保存该值以供下一个查询使用:

select * from table where id > 123
于 2013-01-14T14:12:59.793 回答
2

我建议向isNew表中添加一个默认值为 1 的列并在其上添加一个索引。该索引将阻止您的查询检查所有行。处理完行后,设置isNew为 0。

于 2013-01-14T13:48:46.333 回答