-1

まず、空のテーブルから始めます

行 = 0

次に、ランダムな行を挿入します。たとえば、3400 とします。

行 = 3400

3回目は、テーブル内の行数を数えてから、新しい行を挿入し、その後行<=をカウントから削除します。

このロジックは初回のみ機能します。その繰り返しの場合、カウントは常に 3400 になりますが、ID が増加するため、行は削除されません。

行はランダムであり、ロードされる数がわからないため、最後に挿入されたIDを使用できません。

// アップデート

"SELECT count(*) from table" - the total count so far
"INSERT INTO tab_videos_watched (id , name) values (id , name)" - this is random can     be 3400 or 5060 or 1200
"DELETE FROM table  WHERE idtable  <= $table_count"
4

1 に答える 1

0

idが自動インクリメントされる 場合は、次のように使用する必要があります。

select max(id) from my_table;

これを変数に読み込み、次のようなクエリが maxId発行されたときに使用します。delete

delete from my_table where id <= ?;

クエリ パラメータを最後に見つかった値に置き換えますmaxId

または、列last_inserteddatetime型として定義することもできます。
次の挿入の前に、それをローカル変数に選択します。

select max(last_inserted) as 'last_inserted' from my_table;

挿入が行われた後、 を使用しlast_insertedてレコードを削除します。

delete from my_table where last_inserted <= ?;

クエリ パラメータを最後に見つかった値に置き換えますlast_inserted

于 2012-07-05T12:05:38.383 に答える