2016-06-22 4 views
0

start_date,expiry_dateおよびcourse_idフィールドを持つテーブルと、durationを月に格納するcourseという別のテーブルがあります。他のテーブルの情報に基づいて更新するMySQLトリガをどのように構築すればよいですか?

私がやりたいことは、予約が行われたときにいつでも、選択したコースに基づいて有効期限フィールドを自動的に設定することです。したがってcourse_id 5が選択され、12ヶ月の期間がある場合、予約が挿入または更新されると、durationが得られ、start_dateに追加し、それに応じてexpiry_dateを更新します。

どのような考えですか?私はMySQLのトリガがこれを行うことは分かっていますが、実際にどこで構築するのか、実際にそれらを使って何ができるのか分かりません。

+1

芋、代わりにすぐにトリガを作成しようとします。 1)最初のインスタンスでこれを別々のスクリプトとして実行するロジックを記述してデバッグします。 2)その後、関数、プロシージャ、ビューなどに 'refactor' 3)その後、トリガにロジックを入れることができるかどうかを決定しますか?どうして? 1)あなたはすべての論理作品を知っています!したがって、ステップ2)を実行しているときは、論理エラーではなく「転写エラー」でなければなりません。ステップ3)プロセスを完全に理解し、トリガーでは機能しないものが表示されます。 3つのステップをスキップしないでください。これが私のやり方です; - / –

答えて

-1

アクセス権があると仮定すると、初期予約情報をデータベースに書き込む関数内でカスタム関数を起動する必要があります。

予約を追加している間に既存の機能を編集して有効期限を追加することができます。

編集:私はちょうどあなたは、MySQLのトリガーを使用使用したい気づい:

AFTER INSERT 

http://www.techonthenet.com/mysql/triggers/after_insert.php

関連する問題