-1

首先我们从空表开始

行 = 0

其次,我们插入随机行,比如说 3400

行 = 3400

第三次我计算表中有多少行,然后插入新行,然后从计数中删除行<=​​。

这个逻辑只适用于第一次。如果重复,计数将始终为 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 回答