2017-09-20 4 views
0

イベントで30分ごとにLOAD DATAクエリを実行したい場合は、Eventをmysqlに作成しようとしています。
マイクエリ:エラー:ストアドプロシージャでロードデータを使用できません

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

はい、クローンジョブを使用してください。 – fancyPants

答えて

0

mysqlimportcronまたはWindowsのタスクスケジューラ経由で調査したい場合があります。

cronは、すべてのメジャーサーバーLinux/* BSDディストリビューションに同梱されているUnixデーモン(システムサービス)です。 Windowsでは、Windows Task Scheduler serviceが得られます。

(あなたがcronを設定する方法のいくつかの提案をしたい場合は、私は以下のコメントで知らせてください。)

あなたは* nixのにしていると仮定すると、私はシェルスクリプトであなたのインポート処理をラップと思います。読み込みたいデータが利用可能であるかどうかをチェックし、意味のあるエラーを適切に(たとえば、とstdoutとの間で、適切でない場合はゼロ以外の終了コードを使用して)捨てるようにしてください。

文書のmysqlimportis available onlineに関する文書。

関連する問題