5

午後 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は許可されていません」というエラーが発生します。それは本当にそうですか?そのような場合、そのような場合はどのように処理すればよいですか? 事前に感謝します 私の悪い英語でごめんなさい

4

1 に答える 1

1

確かに、あなたは運が悪いです。

このインポートを自動化するには、外部メカニズム (cron ジョブなど) に頼る必要があります。

mysql次のようにコマンドライン クライアントを呼び出して、MySQL の外部から任意のステートメントを送信できます。

    shell > mysql [オプション] -D [データベース] -e "LOAD DATA INFILE..."
于 2013-06-24T12:13:53.627 に答える