有没有办法在添加新行后立即从mysql中检索数据?

时间:2016-05-01 20:54:54

标签: php mysql

我需要从一个用户向另一个用户发送通知。我需要知道在数据库中添加新行是否有办法接收新行?像firebase" onchildadded()"功能。还有更好的方式来发送和接收通知吗?

1 个答案:

答案 0 :(得分:0)

这可能很难实现,但“简单”数据库方法是使用触发器。插入行时,您可以运行其他代码来执行所需操作。这很棘手,因为在工作进行时行(也许是表)被锁定了。

对此的“正常”解决方案是轮询 - 定期检查是否添加了新内容。

出于您的目的,这些不是最合适的。您正在寻找某种消息队列。这是一个组件,您可以在其中将消息写入队列(已添加新用户),并且接收进程可以读取队列中的消息。我认为MySQL没有内置的消息队列组件。毫无疑问,必须有一些提供此功能的插件。有些数据库内置了这种功能;例如,Postgres支持NOTIFY