2013-10-16 32 views
2

MySQL的觸發更新時間戳如果關鍵字改變

Set field to automatically insert time-stamp on UPDATE?

我試圖創建一個適合我的需要觸發的,但我看到使用舊的和新的關鍵字不方便。

我有2個表相關,documentskeywordsDocuments可以有很多關鍵字,關鍵字必須有一個文件。

我能夠通過GUI修改關鍵字,如果我改變keyword,該Document.update_timecurrent_timestamp()

改變我怎樣才能keywords錶鏈接的事件來觸發document.update_time更新?

CREATE TRIGGER document_update 
AFTER UPDATE ON keywords 
FOR EACH ROW BEGIN 
IF(OLD.value != NEW.value) 
THEN 
UPDATE documents 
SET documents.update_time = current_timestamp() 
WHERE documents.id = NEW.document_fk_id 
END 

documents我有一個類似扳機。

是否可以代替重複觸發代碼,keywords' trigger轉發呼叫documents trigger?或者我應該重複這些代碼?

回答

0
delimiter | 
CREATE TRIGGER keywords_updae AFTER UPDATE ON keywords 
FOR EACH ROW BEGIN 
UPDATE document SET document.update_time= NOW() 
WHERE documents.id = OLD.id AND documents.value != OLD.value; 
END; 
| 
+0

謝謝,我可以轉發觸發到另一個觸發器,而不是重複'文檔'更新觸發器的代碼嗎? – JorgeeFG