我有一个结构如下的 MySQL 表table1 :
idTable1、日期时间、字段 1、字段 2
并且我想设置一个每 5 分钟运行一次的事件,并在table2中复制最后一行具有不同的 ( field1, field2 ) 和 dateandtime 是最新的。
例如,如果现在是 04/30/2018 10:36:50 并且在 table1 中有这些行
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 |
--------------------------------------------------------------
我希望事件在 table2 中复制这些数据:
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
我哪里错了?