2016-06-22 44 views
0

我有一個名爲booking表,有一個start_dateexpiry_datecourse_id領域,另一臺名爲course存儲的duration幾個月。我將如何構建一個基於其他表中的信息更新的MySQL觸發器?

我想要做的是無論何時進行預訂,都會根據所選課程自動設置到期字段。因此,如果選擇了course_id 5,並且它的持續時間爲12個月,那麼當預訂插入或更新時,將獲得duration,將其添加到start_date,然後相應地更新expiry_date

有什麼想法?我知道MySQL觸發器會做到這一點,但我真的不知道從哪裏開始構建它們,以及我可以用它們做些什麼。

+1

國際海事組織,而不是試圖立即寫觸發器。 1)編寫和調試邏輯,首先將所有這些作爲單獨的腳本來完成。 2)然後'重構'函數,過程,視圖等。3)然後決定是否可以將邏輯放入觸發器中?爲什麼? 1)你知道所有的邏輯工作!所以如果你在做步驟2)時,它必須是一個'轉錄錯誤',而不是邏輯錯誤。步驟3)你完全理解這個過程,並會看到什麼在觸發器中不起作用。請不要跳過任何一個或三個步驟。這是我如何做到的; - / –

回答

-1

假設您有權訪問它,您必須在函數內部觸發一個自定義函數,該函數將初始預訂信息寫入數據庫。

或者您可以編輯現有的功能來添加預訂時添加到期日期。

編輯:我只注意到要使用MySQL觸發器使用:

AFTER INSERT 

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

相關問題