每5分钟自动执行SQL中的语句

时间:2018-10-31 21:44:10

标签: sql mariadb scheduled-tasks

我试图每5分钟自动执行一次MariaDB / SQL中的“加载数据文件”命令(它们相同吗?)。这是我要自动执行的代码块。

LOAD DATA LOCAL INFILE 'path to text file'
INTO TABLE Student
FIELDS TERMINATED BY ',';

我已经尝试了一些更简单的解决方案,但无济于事。我当时正在考虑创建脚本并使用内置的系统调度程序,但是我在Linux上并不熟悉,因此非常希望在MYSQL中执行此操作。感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我相信MariaDB应该包括MySQL的事件调度程序-您可以在这里找到有关使用它的更多详细信息:http://www.mysqltutorial.org/mysql-triggers/working-mysql-scheduled-event/

我建议将该代码放入存储过程中,并使用它来触发该过程:

CREATE PROCEDURE stored_proc_name ()
BEGIN
    LOAD DATA LOCAL INFILE 'path to text file'
    INTO TABLE Student
    FIELDS TERMINATED BY ',';
END

然后创建事件:

CREATE EVENT event_name
ON SCHEDULE EVERY 5 MINUTE
DO
    EXEC stored_proc_name