我看到这个问题已经被问到很多不同的方式,但我不是很了解他们。
我想把过期的记录(它们的日期落后/小于now()
-每个记录都有一个字段,其中包含它们的日期,这是从1970年开始的秒数)移动到另一个相同的表。这是为了使主表中的事件提示更小。
是否有任何单一的查询,我可以使用移动记录到不同的表?我可以自己检查过期时间
你不能在一个查询中做到这一点,你必须执行两个:查询1:
INSERT INTO newtable SELECT * FROM oldtable WHERE date<now();
查询2:
DELETE FROM oldtable WHERE date <= SELECT MAX(date) FROM newtable
insert into backupTable (select field1, field2 from mainTable where myDate < UNIX_TIMESTAMP(NOW()))
delete from mainTable where myDate < UNIX_TIMESTAMP(NOW())