任何更改后的MySQL触发器

时间:2015-09-09 16:20:50

标签: mysql triggers

我正在寻找一种在任何行或字段的表中发生任何更改后创建触发器的方法。

我想让我的网络应用自动刷新,如果他们上次加载后对数据进行了任何更改。为此,我需要一个表的“modified_on”属性,该属性将应用于整个表,而不仅仅是一行。

1 个答案:

答案 0 :(得分:0)

不确定哪个数据库触发器与此问题有关,因为它们无法在Web应用程序级别触发任何行为。您需要在Web应用程序中构建逻辑以检查数据以查找更改。最有可能的是,这将采取一些客户端触发的刷新过程(即AJAX)的形式,这需要调用一个应用程序脚本,该脚本将在上次检查更新时从客户端获取信息并将其与最多进行比较最近更新了表中的行。只要您在表上有时间戳/日期时间字段并在更新时更新每一行,您就可以通过简单的查询检索所有更新的行,例如

SELECT {fields} FROM {table}
WHERE {timestamp field} > '{last time checked}'

我想要,您可以使用它来仅更新应用程序视图中需要更新而不是重新渲染整个表的那些行(这将最小化响应带宽/下载时间,渲染时间等)。如果您只想检查表是否已经从某些特定位置更新,但不关心单个行,则可以检查上述查询是否返回1行或更多行。

如果您不希望客户端应用程序视图必须定期检查(可能使用AJAX),您可能还会考虑使用websockets或类似方法来启用双向客户端 - 服务器通信,但这仍然是不会改变服务器端应用程序需要查询数据库以查找已更改记录的事实。