2016-10-02 4 views
-1

ユーザーがサインアップした後、日付フィールドに7日間追加しようとしています。私はdate_enteredを含む登録時にユーザーからの詳細をいくつか取ります。形式は、2016-05-01の形式で表示されます。この日に7日を自動的に追加して、next_dueフィールドに2016-05-08と入力します。トリガを使用して作成した後、SQLの日付フィールドに7日を追加しますか?

表は「」と呼ばれ、2つのフィールドは「date_entered」と「next_due」です。

EDIT:

質問が重複としてマークされていたが、どこ他の質問で、それがトリガを参照していますか?新しいユーザーが追加されたときに日付が自動的に更新されるように、トリガーの作成に関するアドバイスが必要です。乾杯

答えて

0

はこれを試してみてください:

DELIMITER // 
CREATE DEFINER = CURRENT_USER TRIGGER tasks_BEFORE_INSERT BEFORE INSERT ON tasks FOR EACH ROW 
BEGIN 
    SET NEW.next_due = DATE_ADD(NEW.date_entered, INTERVAL 7 DAY); 
END// 

編集されたバージョン:

このトリガがテーブルに挿入する前に、あなたのフィールドを用意し、その後、次のことができます。あなたのINSERT文で

  1. 、値 'frequency'を渡す
  2. 周波数をconfigテーブルから取得します。ここで、この値

    insert into tasks('name','date_entered', 'frequency') VALUES('send email','2016-10-02', 25) 
    

    私は周波数として25を置く:eは以下の状況を想像して、最初のオプションを中心に

"定数" です。

を(前の周波数フィールドを作成することを忘れないでください)すると次のようなトリガーを適応させることができます。

DELIMITER // 
CREATE DEFINER = CURRENT_USER TRIGGER tasks_BEFORE_INSERT BEFORE INSERT ON tasks FOR EACH ROW 
BEGIN 
    SET NEW.next_due = DATE_ADD(NEW.date_entered, INTERVAL NEW.frequency DAY); 
END// 

これはあなたのお役に立てば幸い!

+0

ありがとうございます。私はそれに行くよ – Richard2510

+0

完全に動作しますありがとう。私は別のフィールドから日数を追加するように変更することができますか? 「周波数」というフィールドがある場合は、前に述べた既定の7日間ではなく、頻度で日数を追加できますか?乾杯しました – Richard2510

+0

私は別のケースであなたを助けるためにanswerdを編集しました –

関連する問題