只选择MySQL数据库/表中的更新/新行

Select only updated/new rows in MySQL database/table

本文关键字:更新 新行 MySQL 数据库 选择      更新时间:2023-10-16

在我当前的项目中,我试图检查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。