我正在尝试集成 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;)以实时显示值。
任何人都可以帮我这样做吗?
答案 0 :(得分:0)
您可以在tableA上创建触发器,而不是触发查询以获取所有记录,然后检查是否有任何更改。每当像你的情况一样发生任何操作时,只需在其他字段或其他表中保存时间戳。因此,每当您在特定时间间隔后查询时,您应查询此单个字段并保存此时间戳。并使用它将其与查询中的下一个时间戳进行比较,以查看是否有任何更改。