如何创建一个 table 来存储来自视图的数据 - MySQL

How to create a table that stores data from a view - MySQL

MySQL 数据库 (5.5)

我创建了一个视图,每次刷新时都会生成一行数据:

curtime(),跨度,curSPM

15:19:38, 5, 454.2000

这里有两个目标:

    • 每 4 分钟刷新一次此视图 -
  1. 将该视图中的数据存储到收集记录(以便能够查看历史数据)的永久性 table 中。

基本上,我正在尝试捕获和存储 "live" 数据。我已经尝试为 运行 查询创建一个过程 - 我可以创建 table - 但我无法获得 table 来存储数据。关于我可能缺少哪些步骤的任何想法?

更新问题:

这是我的程序(或我正在处理的程序)-

DELIMITER //
CREATE PROCEDURE pullSPMM2
BEGIN () 
Insert INTO testTable (SELECT * FROM Machine2SPM);
END //
DELIMITER;

一些事情 - 我知道它还不完全正确 -(这不是我的原创 - 我从头开始过)。

我不确定首先需要输入什么参数

其次,一旦我有了将最新行插入 table 的过程 - 我知道我需要每 5 分钟安排一次 运行 活动。像这样:

CREATE EVENT myevent
    ON SCHEDULE EVERY 5 MINUTE
    DO
      #procedure to insert row into table;

找到了一种更有效(也更简单)的不同方法。我把它复杂化了(有时很容易做到)。

CREATE EVENT CollectM2SPM ON SCHEDULE EVERY 5 Minute ON COMPLETION NOT PRESERVE ENABLE DO Insert INTO testTable (SELECT * FROM M2SPM);

我还需要 运行 这个来开始:SET GLOBAL event_scheduler = ON;

希望对其他人也有帮助! :)

谢谢!