2017-05-03 5 views
0

現在の時刻が午前0時(23:59:59)になったらテーブルの値を変更したいが、これに近づける方法は不明です。テーブルには "startTime"と "endTime"があり、同じ行に "startTime"の値がある場合、現在時刻が真夜中になると "endTime"を "23:59:59"に設定します。この要件を満たすためにストアドプロシージャまたはトリガを使用できますか?それともこれにアプローチするのは間違った方法ですか?MySQL - 現在の時刻が真夜中になったときにテーブルの値を変更する

新しい行が常にテーブルに追加されるため、継続的に時間の変化を聴取するか、毎日1回の間隔で待機してください。

+1

Googleの動作が停止しましたか? https://dev.mysql.com/doc/refman/5.7/en/event-scheduler.html – Strawberry

答えて

1

これを実行するスケジューラを実行します。

トリガーは実行されたアクションにのみ応答するため、トリガーをリンクすることはできません。あなたが真夜中に座って行動を起こさない限り、それはあなたを助けません。 ストアドプロシージャは基本的に同じものです。ユーザーが開始する必要があります。

スケジューラを実行している場合を除き、アクションが実行されます。 私はこれが最も一般的な方法だと考えています。

Windowsには1つが組み込まれています。 nginxかそのようなもの、私はcronジョブと呼ばれるものを信じていますか?

とにかく、Googleのスケジューラ/ cronjobsガイド/チュートリアルだけ、私はここにいるよりも説明するのが良い方法です。

+0

このイベントスケジューラのhttps://www.sitepoint.com/how-to-create-mysql-events/は助けて。それ以外の場合は、linux cronjobも役に立ちます。 –

関連する問題