错误:加载存储过程中不允许的数据

时间:2017-09-20 08:37:45

标签: mysql stored-procedures mysql-event

我正在尝试在mysql中创建Event,在事件中我想每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 有没有其他解决方案可以达到同样的目的?感谢

1 个答案:

答案 0 :(得分:0)

您可能希望通过mysqlimport或Windows'使用cron进行调查。任务计划程序。

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

(如果您需要有关如何配置cron的一些建议,请在下面的评论中告诉我们。)

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

mysqlimport is available online上的文档。