2017-03-13 13 views
0

日時フィールドを監視するトリガーを作成する必要があります。そのdatetimeフィールドが現在の日付と等しい場合(日付の時刻自体よりも日付の監視が容易)、2番目のフィールドが更新されます。たとえば、次のフィールドが実証:datetimeフィールドに基づいてフィールドを更新するMYSQLトリガー

はアクティブ(整数)(日時)を期限切れ

を現在の日付が期限切れに等しい場合、「0」にアクティブに更新します。これに関する助け、親切に感謝します。

答えて

0

MySQLでは、トリガーはトリガーイベントとしてのみDMLアクションを持つことができます。つまり、行が挿入、更新、または削除されたときにのみ実行されます。 は現在の時刻と日付を監視しません。 https://dev.mysql.com/doc/refman/5.7/en/create-trigger.html

しかし、なぜ余分なフィールドが必要ですか?

create view userView as 
select userid, case when expired < now() then 1 else 0 end as active 
from user; 

実際のクエリでは、計算結果セットの列としてそのcase-statementを含めるだけです。

+0

削除する必要があるレコードを視覚的にプログラムで識別するためには、追加フィールドが必要です。だから私はフィールドを確認するか、またはビューを実行する別のスクリプトを持つ必要があります推測する。お返事をありがとうございます。 – vbNewbie

関連する問題