0

我正在尝试Event在 mysql 中创建一个事件,我想每 30 分钟执行一次 LOAD DATA 查询。
我的查询:

DELIMITER $$
CREATE
EVENT auto_mytable 
ON SCHEDULE EVERY 30 MINUTE
DO BEGIN

TRUNCATE TABLE mytable;

LOAD DATA local INFILE '/file.csv' INTO TABLE mytable FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES;

END;
$$

我收到错误LOAD DATA not allowed in stored procedures 是否有任何其他解决方案可以实现相同的目标?谢谢

4

1 回答 1

0

您可能想使用mysqlimportviacron或 Windows 的任务计划程序进行调查。

cron是一个 Unix 守护程序(系统服务) - 随所有主要服务器 Linux/*BSD 发行版一起提供。在 Windows 上,您将获得Windows 任务计划程序服务

(如果您想对如何配置提出一些建议,请cron在下面的评论中告诉我。)

假设您在 *nix 上,我会将您的导入过程包装在一个 shell 脚本中。尽一切努力检查您要导入的数据是否可用(是否可读等)并适当地抛出有意义的错误(例如,通过stderrvsstdout和适当的非零退出代码)。

文档mysqlimport 可在线获取

于 2017-09-20T08:57:47.837 回答