タイマーでクエリを実行しようとしています(1日1回同時に)。
クエリは毎回同じです。Excel からデータを取得し、コンピューターのデスクトップに保存します。次にfile.csv
、PHPmyAdmin で UPDATE します。
phpmyadmin には、インターフェースから自動化するオプションがありません。誰かが無料でこれを達成するのを手伝ってくれませんか?
タイマーでクエリを実行しようとしています(1日1回同時に)。
クエリは毎回同じです。Excel からデータを取得し、コンピューターのデスクトップに保存します。次にfile.csv
、PHPmyAdmin で UPDATE します。
phpmyadmin には、インターフェースから自動化するオプションがありません。誰かが無料でこれを達成するのを手伝ってくれませんか?
-------------------更新(より良い回答-2014年1月)--------------------
MySQLの偶数スケジューラー(http://dev.mysql.com/doc/refman/5.1/en/events.html)を使用できます。指定した時間にクエリを実行するイベントをMySQLで設定できます。
マニュアルからのサンプル
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
UPDATE myschema.mytable SET mycol = mycol + 1;
------------------元の回答(2012年12月)------------------
最も簡単な方法は、mysqlコマンドを実行するためのCRONジョブまたはWindowsタスクスケジューラジョブです。
mysql -u [username] -p[password] -e "UPDATE from 'filecsv'"
ノート:
詳細:-Google for tech Scheduler(Windowsのフレーバーを追加)https://www.google.com.au/search?q=using+windows+task+scheduler-MySQL コマンドライン「execute」(およびその他のオプション)http://dev.mysql.com/doc/refman/5.5/en/mysql-command-options.html#option_mysql_execute
私が知っていることからphpmyadminからそれを行う方法はありませんが、スクリプトから行うことができます。これにより、Linuxでcronジョブを作成するか、Windowsでスケジュールされたタスクを作成して、CSVをデータベースにインポートできます。phpMyAdmin はとにかくこのようなコマンドを実行します。
あなたが探しているSQLコマンドは
load data ' . LOCAL_DATA . '
infile "/path_on_disk/file.csv"
into table `table_name` ' . $details['import_options'] . '
(brand, sku, name, retail_price, url, image, short_category, stock_availability, freight_cost, retail_price, currency);');
LOCAL_DATA - 空または文字列「LOCAL」のいずれかです。私のコンピューターにはLOCALが必要ですが、サーバーには必要ありません。
$details['import_options'] - いくつかの可能性がありますが、これを行う最善の方法は、ファイルに対してどのように実行されるかをテストすることです。過去に利用したことがあります
fields terminated by "," lines terminated by "\n" IGNORE 1 LINES
また
fields terminated by "\t" enclosed by "\"" lines terminated by "\n" IGNORE 1 LINES
また
fields terminated by "," optionally enclosed by "\"" lines terminated by "\n" IGNORE 1 LINES
これをphpで実行して、必要なテーブルに必要なファイルを取得できます。
この操作を実行するスクリプトを実行するように Cronjob をスケジュールする方がよい場合があります。Excel ファイルを調べてから MySQL に入力する PHP スクリプトを作成できます。
http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/ http://code.google.com/p/php-エクセル/
または、MySQL のイベント スケジューラを使用して、特定の操作をスケジュールすることもできます。ただし、アプリケーションの場合、Excel スプレッドシートからの読み取りを処理するには、PHP または別のスクリプト言語の方が適している場合があります。
例:
CREATE EVENT import_data
ON SCHEDULE AT '2006-02-10 23:59:00'
DO LOAD DATA LOCAL INFILE '/importfile.csv' INTO TABLE test_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(field1, filed2, field3);