2

基于此:

将字段设置为在 UPDATE 上自动插入时间戳?

我正在尝试创建一个适合我需要的触发器,但我发现使用 OLD 和 NEW 关键字很不方便。

我有 2 个相关的表,documents并且keywords. Documents可以有多个关键字,关键字必须有一个文档。

我可以通过 GUI 编辑关键字,如果我更改 a keyword,则Document.update_time应该更改为current_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?还是我应该重复代码?

4

1 回答 1

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;
|
于 2013-10-16T15:54:24.810 回答