2011-06-21 10 views
0

私はちょうどこの1つの一般的な方向を探しています。基本的には、mysqlデータベースのパラメータの1つとして日付が設定されています。日付は、値が設定されてから将来の日付に設定されます。将来の日付に達すると、あるテーブル値を更新したいと思います。これをどうやって行うのですか?将来の日付にMySQLテーブルの値を更新するにはどうすればよいですか?

また、関連する質問として、日付をチェックしてテーブルを自動的に更新するスクリプトを設定するにはどうすればよいですか? PHPスクリプトを使用することはできますか、毎日実行するために複雑なcronジョブを設定する必要はありますか?

+1

cronジョブが最も効率的です。それ以外の場合は、PHPスクリプトを実行し、日付を照会し、到達したかどうかを確認します。 –

答えて

0

あなたは2番目の質問で最初の質問に答えました。日付をチェックしてテーブルを更新するスクリプトを使用します。

はい、cronを使用する必要がありますが、複雑である必要はありません。 CronはPHPスクリプトを実行できます(cliモード)。また、cronの開始をcurlまたはwgetにして、Webサーバー上でphpを直接実行させることもできます。

実際には、サイト上で何らかのアクションを実行するたびに(どのアクションが最も適切かを判断する必要があります)、更新コマンドも実行されます。

-1

両方の状況で、cronジョブをセットアップする必要があります(必ずしも複雑ではありません)。アプリケーションに応じて、何らかの要求が行われるたびに更新を行うことができます。たとえば、将来のデータはボーナス金額の有効性であり、特定のユーザーがログインすると、日付に達するとボーナス金額をチェックし無効にします。変更を瞬時に行う必要がある場合は、cronジョブが必要です。

すべてはアプリケーションとそのスコープによって異なります。

0

将来の日付に達したとき、私は特定のテーブル値

が理由だけではなく、例えば、日付に基づいて適切な値を選択するようにコードを記述しないで更新したいと思います

SELECT IF(activation_date<NOW(), old_value, new_value) AS value 
FROM yourTable 
WHERE... 
関連する問題