我有一个mysql表table1,结构如下:
idtable1,日期时间,字段1,字段2
我想设置一个每5分钟运行一次的事件,并在表2中复制最后几行(field1,field2),其中dateandtime是最近的。
例如,如果现在是2018年4月30日10:36:50,表1中有这些行
idTable1| field1 | dateandtime | field2 |
--------------------------------------------------------------
|1 | value1field1 |2018-04-30 10:30:07 | value1field2 |
--------------------------------------------------------------
|2 | value2field1 |2018-04-30 10:32:41 | value1field2 |
--------------------------------------------------------------
|3 | value1field1 |2018-09-03 10:33:17 | value1field2 |
--------------------------------------------------------------
|4 | value3field1 |2018-09-03 10:35:27 | value1field2 |
--------------------------------------------------------------
|5 | value1field1 |2018-09-03 10:36:17 | value1field2 |
--------------------------------------------------------------
我希望事件在表2中复制这些数据:
idTable2 |idTable1| field1 | dateandtime | field2 |
--------------------------------------------------------------------------
|1 |2 | value2field1 |2018-04-30 10:32:41 | value1field2 |
--------------------------------------------------------------------------
|2 |3 | value1field1 |2018-09-03 10:33:17 | value1field2 |
--------------------------------------------------------------------------
|3 |5 | value1field1 |2018-09-03 10:36:17 | value1field2 |
--------------------------------------------------------------------------
我尝试了以下代码,但似乎没有插入任何记录:
BEGIN
INSERT INTO table2 (idTable1, field1, dateandtime, field2)
SELECT idTable1, field1, dateandtime, field2
FROM table1
WHERE dateandtime > date_sub(now(), interval 5 MINUTE)
GROUP BY field1, field2
ORDER BY dateandtime DESC;
END
我错在哪里?
暂无答案!
目前还没有任何答案,快来回答吧!