2

現在のプロジェクトでは、MySQLデータベースをチェックしようとしています。MySQLデータベースは別のプログラムによって更新されるため、C++プログラムは新しい行のみを選択する必要があります。小さなテーブル(> 10000行)にはならないので、各行を検索したくありません。つまり、isNew=0または=1のような列をチェックします。私はすでに見つけました:

過去1時間に変更されたテーブルを検索するためのクエリ

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

ただし、この例では、更新されたテーブルのみを取得できます。テーブルから新しい行のみを選択するにはどうすればよいですか?

4

2 に答える 2

4

How can I only select the new rows from a table?

Assuming new rows means newly inserted, and if you can change the database schema, you could use an auto increment column. By remembering the largest value each time your program selects a result set, it could save that value for the next query:

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

isNewデフォルト値1の列をテーブルに追加し、それにインデックスを追加することをお勧めします。インデックスは、クエリがすべての行をチェックするのを防ぎます。行を処理したら、isNew0に設定します。

于 2013-01-14T13:48:46.333 に答える