是否有类似这样的函数或查询来跟踪上次更改行的时间? id没有timestamp列也不能添加一个,有特定的列,名称发布从0变为1,反之亦然,我想检查最后一次更改的时间。
在这里使用joomla,并尝试弄清楚插件何时发布/未发布,没有事件,只有我们拥有的事件是onExtensionBefore和保存之后,但没有跟踪发布状态的事件。
答案 0 :(得分:1)
添加在每次columnname
次更新时执行的触发器:
DELIMITER |
CREATE TRIGGER `TriggerName`
AFTER UPDATE ON `TriggerTable`
FOR EACH ROW
BEGIN
IF NEW.columnname <> OLD.columnname THEN
SET `timestampcolumn`=NOW();
END IF
END
|
如果您确实更新columnname
,则应将timestampcolumn
更新为当前时间。
注意: 在定义触发器时,使用DELIMITER [
delimiter
]
更改分隔符。分隔符应该不在CREATE TRIGGER
定义范围内。默认分隔符为;
,并且需要将其从默认分隔符更改,因为;
之后的SET ´timestampcolumn´=NOW();
会导致TRIGGER
定义中断。
答案 1 :(得分:0)
对于onSave事件,您应该获取整行数据,包括已发布/状态。对于可能涉及保存的每个字段,您不需要特殊的触发器。 我会制作一个内容插件,其中有一个表格,该表格与所讨论的表格相关,如果状态发生变化,它会占用保存时间。