2010-06-11 82 views
2

我在MySQL中使用觸發器獲得零經驗。在學校學習(Oracle環境)。如何在觸發任何記錄時觸發MySQL更新字段?

我有一個表已經有一個插入日期的日期戳列。

我想更新一個Record_Touched字段,只要有任何記錄在這個表中被觸及。做這件事最有效的方法是什麼?

謝謝...

+0

'Record_Touched'字段在同一個表格或另一個表格中嗎?如果嘗試更新導致觸發器的同一個表,則觸發器不起作用。它可以通過將一條記錄插入到另一個表中。 – 2010-06-11 15:55:36

+0

它將在同一張表中。所以我猜沒有? – ThinkCode 2010-06-11 16:08:43

回答

2

創建一個字段作爲一個時間戳,並設置ON UPDATE CURRENT_TIMESTAMP

如上所述,我不認爲你需要一個觸發器。

+0

+1:對所需行爲使用DEFAULT約束:http://dev.mysql.com/doc/refman/5.0/en/timestamp.html – 2010-06-11 15:54:57

+0

我已經有了更新current_timestamp的另一列。 我想另一個領域,MySQL只允許一個這樣的更新,我相信。謝謝... – ThinkCode 2010-06-11 16:00:07

+0

@ThinkCode:使用DEFAULT約束的列數沒有限制。 – 2010-06-11 16:14:55