存储过程中不允许LOAD DATA

时间:2013-06-24 10:15:43

标签: mysql database events scheduled-tasks

我有一个案例,每隔6点自动将数据导入mysql。要导入的数据是“data.txt”。

我在mysql中创建了这样的:

CREATE EVENT EVENT_NAME
ON SCHEDULE EVERY '18: 00:00 'DAY
DO
LOAD DATA LOCAL INFILE 'd :/ data.txt'
INTO TABLE table_name
FIELDS terminated BY ','
LINES terminated BY '\ n'
(atribut1, atribut2, atribut3);

如果我这样写的话

LOAD DATA LOCAL INFILE 'd :/ data.txt'
INTO TABLE table_name
FIELDS terminated BY ','
LINES terminated BY '\ n'
(atribut1, atribut2, atribut3);

查询已成功执行

但如果我像第一代码那样编写代码,则会出现错误“存储过程中不允许使用LOAD DATA”。它真的像那样吗?如果是这样我怎么处理这种情况?提前致谢 抱歉我的英文不好

1 个答案:

答案 0 :(得分:1)

确实,you are out of luck

您需要求助于外部机制才能自动执行此导入(例如cron作业)。

您可以通过调用mysql命令行客户端从MySQL外部提交任意语句:

    shell > mysql [options] -D [database] -e "LOAD DATA INFILE..."