2013-06-24 3 views
4

У меня есть случай импортировать данные в mysql автоматически каждые 6 вечера. импортируемые данные - «data.txt».LOAD DATA не допускается в хранимых процедурах

Я создал в 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); 

запрос был успешно выполнен

но если я писать код как код кулака вместо этого возникает ошибка: «ЗАГРУЗНЫЕ ДАННЫЕ не допускаются в хранимых процедурах». это действительно так? если это так, как я могу справиться с такими случаями? заранее спасибо извините за мой плохой английский

ответ

2

Действительно, you are out of luck.

Вам понадобится внешний механизм, чтобы автоматизировать этот импорт (например, задание cron).

Вы можете отправить произвольные операторы из вне MySQL с помощью вызова клиента mysql командной строки, как это:

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