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