从app

时间:2015-11-25 09:58:38

标签: javascript mysql node.js socket.io

我正在尝试集成 socket.io + node.js + mysql 。 node-mysql用于允许node.js访问MySQL数据库。 MySQL数据库中名为tableA的表每10分钟更新一次新数据。

问题:使用节点,我需要节点服务器在tableA更新时(新行)连续检查tableA是否有变化。 实现这一目标的好方法

我在想如果我使用 setInterval (checkDb(tableA),10 * 60 * 1000)获取所有行并检查更改,checkDbquery函数可能与数据库更新不一致。< / p>

我也碰巧使用socket.io这样一个好方法是节点系统从节点服务器向节点客户端发出(&#39; dbUpdated&#39;)以实时显示值。

任何人都可以帮我这样做吗?

1 个答案:

答案 0 :(得分:0)

您可以在tableA上创建触发器,而不是触发查询以获取所有记录,然后检查是否有任何更改。每当像你的情况一样发生任何操作时,只需在其他字段或其他表中保存时间戳。因此,每当您在特定时间间隔后查询时,您应查询此单个字段并保存此时间戳。并使用它将其与查询中的下一个时间戳进行比较,以查看是否有任何更改。