【发布时间】:2011-05-06 05:22:47
【问题描述】:
大家好,感谢您的回答和cmets。
我有一个包含几个字段的表,其中有version、last_modified 和modified_by
我正在编写一个触发器:
- 在每次/任何更新后将
version增加 1, - 将
last_modified设置为当前时间戳, - 将进行最新更改的用户的ID设置为
modified_by,并 - 通过引发信号(在这种情况下)防止程序员忽略/忘记在 UPDATE 语句中设置
modified_by = userid。
我怎样才能做到这一点?
我尝试检查isnull(NEW.modified_by),但随后意识到NEW.modified_by 与OLD.modified_by 具有相同的值,如果它不受影响。此外,检查NEW.modified_by 是否等于OLD.modified_by 也不太成功,因为它可能是用户修改了之前自己修改过的记录。
有没有办法确定哪些字段受 UPDATE 语句影响?或者某个特定字段 (modified_by) 是否受到影响?
【问题讨论】:
标签: mysql sql stored-procedures triggers