sql - 每 5 分钟自动执行 SQL 语句
问题描述
我正在尝试每 5 分钟在 MariaDB/SQL 中自动执行一次 Load Data Infile 命令(它们相同吗?)。这是我试图自动化的代码块。
LOAD DATA LOCAL INFILE 'path to text file'
INTO TABLE Student
FIELDS TERMINATED BY ',';
我已经尝试了一些更简单的解决方案,但无济于事。我正在考虑创建一个脚本并使用内置的系统调度程序,但我在 linux 上并且不熟悉并且非常喜欢在 MYSQL 中执行此操作的方法。感谢您的帮助!
解决方案
我相信 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
推荐阅读
- android - 设备方向销毁活动
- r - 具有 50% 选择率的分层随机样本
- swift - 具有不同类型数据的通用 UITableViewCell
- android - getWritableDatabase 无法解析
- php - 在查询中选择与匹配列匹配的记录
- .htaccess - htaccess 重写 url 以隐藏变量
- javascript - 从多行文本 HTML 编辑器 Sharepoint 2010 中的自定义列表中获取行数据
- node.js - 了解 .npmrc
- c# - 网络核心:从 Microsoft.AspNetCore.Hosting.IWebHostBuilder 转换为 'Microsoft.AspNetCore.Hosting.IWebHost'
- html - 如何防止一列在窗口调整大小时与另一列重叠?