在MySQL数据库/表中仅选择更新/新行

时间:2013-01-14 13:43:58

标签: c++ mysql sql myisam

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

Query to find tables modified in the last hour

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

但是,在此示例中,您只能获取更新的表。我怎样才能从表中选择新行?

2 个答案:

答案 0 :(得分:4)

  

我怎样才能从表中选择新行?

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

select * from table where id > 123

答案 1 :(得分:2)

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