2011-09-20 9 views
2

の値に基づいて、mysqlのフィールドを更新が自動的に私は、サブスクリプションの詳細については、MySQLのテーブルを持っている他のフィールド

それは、私は何をしたいののたびEND_DATE START_DATE、END_DATEとステータスフィールド今

ありました サブスクリプションが到達したEND_DATE> CURDATE、更新サブスクリプションテーブルセットのステータス=非アクティブ

はの終わりにチェックを実行する方法がある場合に、私は、例えば

をアクティブから非アクティブに変更するには、ステータスフィールドを希望しますイックこれを確認して更新する日ですか?

どうすればいいですか?

答えて

0

あなたはなぜ、ビューを作成し、ステータスを計算していないPHP

2

とDB内のデータをチェックし、操作するcron joblinuxでベースのサーバーを使用することができます。そして、テーブルの代わりにビューを使用します。

CREATE VIEW vwSubscription 
    AS 
    SELECT 
     start_date, 
     end_date, 
     IF(end_date > curdate, 'inactive', status) as status 
    FROM subscription 
-1

あなたが書くために必要なものは、この

while (true) { 
    echo 'updating'; 
    //check rows here 
    echo 'done'; 
    sleep(10); 
} 

ただ、シェル(PHP -fスクリプトでそれを実行するように、バックグラウンドで実行されるスクリプトです。 php)、それをバックグラウンドに入れて、あなたが望むことをします。記憶は重要であることを覚えておいてください。あなたのメモリ使用量が屋根を通過しないように、各サイクルのすべての設定を解除する($ var)ことを確認してください。

+0

[ホイール](http://wikipedia.org/wiki/Windows_Task_Scheduler)はなぜ[改革](http://wikipedia.org/wiki/Cron)ですか? –

+0

私はそれをたくさんする、それは非常に有用な何かです。私はバックエンドのcliスクリプトでほとんどのサイトを実行します。 – macintosh264

関連する問題