0

我有一个结构如下的 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

我哪里错了?

4

0 回答 0