Mysql 将新数据插入表后清除旧数据

Mysql 将新数据插入表后清除旧数据,mysql,sql,Mysql,Sql,首先我们从空桌子开始 行=0 其次,我们插入随机行,比如3400行 行数=3400 这是我第三次计算表中的行数,然后插入新行,然后删除行如果id是自动递增的,那么您应该使用like: select max(id) from my_table; 将此maxId读入变量,然后在发出delete查询时使用,如: delete from my_table where id <= ?; 插入后,使用last\u inserted删除记录 delete from my_table where la

首先我们从空桌子开始

行=0

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

行数=3400


这是我第三次计算表中的行数,然后插入新行,然后删除行如果
id
是自动递增的,那么您应该使用like:

select max(id) from my_table;
将此
maxId
读入变量,然后在发出
delete
查询时使用,如:

delete from my_table where id <= ?;
插入后,使用
last\u inserted
删除记录

delete from my_table where last_inserted <= ?;

从上次插入的my_表中删除可以显示sql吗?还有,你认为呢“删除行请发布一个SSCCE,这样我们就可以看到你在做什么。我想他是在问他如何使用旧id来删除刚删除的行?如果是这样,自动增量将不允许您这样做,因为它已经自动分配了您的id。这样做是为了提高INSERT查询的速度,这样就不必计算下一个可用的ID,只需立即计算即可。根据您提供的信息,首先删除表中的所有内容,然后执行INSERT就足够了。但是,如果您必须先插入,然后再删除,为什么不跟踪在新列中插入记录的那一轮:然后您可以从mytable中删除round=3
或其他任何内容。@MarianPetrov:“round”,我指的是一轮插入(因为这似乎是您确定要删除的数据的方式)?为True,但至少该表应该设置了上次插入日期时间字段。
select max(last_inserted) as 'last_inserted' from my_table;
delete from my_table where last_inserted <= ?;