如何创建一个 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 分钟刷新一次此视图 -
- 将该视图中的数据存储到收集记录(以便能够查看历史数据)的永久性 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;
希望对其他人也有帮助! :)
谢谢!
MySQL 数据库 (5.5)
我创建了一个视图,每次刷新时都会生成一行数据:
curtime(),跨度,curSPM
15:19:38, 5, 454.2000
这里有两个目标:
- 每 4 分钟刷新一次此视图 -
- 将该视图中的数据存储到收集记录(以便能够查看历史数据)的永久性 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;
希望对其他人也有帮助! :)
谢谢!