2017-11-04 16 views
0

私のテーブルにはdaysと呼ばれるフィールドがあります。トリガーを24時間ごとに実行し、30フィールドで1フィールドを減算したい場合は29を減算します。どのように行うのか分からない、私はそれが私がMySQLでどのように行うのか分からないながらである知っているトリガー24時間ごとにフィールドを更新するには

While days> = 0 Do 

私は、次のコードを追加する方法がわかりません日フィールドの 更新でトリガーする

floor (((date + (86400 * 30)) - unix_timestamp())/86400) as expire_days 
+0

トリガーは、何らかのアクションが発生したときにトリガーされます。それはここでは当てはまりません。 – Ivar

+0

任意の間隔でWindowsタスクスケジューラのようなあなたのOSによって実行されるスクリプトを書くことができます – Ibo

答えて

0

なぜトリガーを使用するのですか?ただ、目標期日に入れて日付を計算するためにビューを使用します。

create view v_t as 
    select t.*, 
      greatest(datediff(target_date, curdate()), 0) as days 
    from t; 

ビューが呼び出されたときにdaysの値が計算されます。イベントやジョブをスケジュールする必要はありません。

関連する問題