0

重複の可能性:
Windows に cron に相当するものはありますか?

MySQL のデータを定期的に更新するにはどうすればよいですか?

テーブルがあるとします。1 つの列は「日付」です。もう 1 つの列は「Expiry_Status」です。

「日付」列の日付が現在の日付より後の場合、「Expiry_Status」が「Yes」値に更新されるように、テーブルを定期的に (数時間) 更新するにはどうすればよいですか。

フレームワークとして WAMP を使用しています。

編集:回答ありがとうございますが、多くの人がデータベースアーキテクチャの変更について回答してくれました。上で挙げたケースは、ほんの一例です。データベースがどのように定期的に更新されているかについてもっと興味があります。すなわち: 使用されたプログラム、構文、パラダイム....など。ありがとう。

4

3 に答える 3

1

更新を実行するプログラムを作成し、スケジュール システムを使用して実行します。

Windowsでは(質問WAMPにタグを付けたので)、これは通常Task Schedulerで行われます。

他のオペレーティング システムは通常cronを使用します。

ただし、ステータス列の変更は冗長です。ステータスが「はい」のデータではなく、有効期限が NOW() より大きいデータを検索できます。この種のスケジュールされたスクリプトは通常、古いデータが削除されているときに使用されます。

于 2013-01-15T17:38:16.433 に答える
1

時間をチェックして適切に更新するphpスクリプトを作成し、Windowsタスクスケジューラを使用して特定の間隔でそれらを実行します。(Windows OSを想定して...)

于 2013-01-15T17:38:29.677 に答える
1

これを持っていることは何の価値がありexpiry_statusますか?その日付/日時フィールドにインデックスがある場合 (expiry_statusとにかくフィールドを効果的に更新する必要があります)、同じように簡単にクエリを実行できます...

WHERE `date` > NOW()

...アクティブなレコードを特定するため。とにかく、この提案された更新クエリで行うことは、本質的にこれだけです。必要がないのに、なぜ余分なフィールドを維持するのですか?

于 2013-01-15T17:43:40.223 に答える