我想知道如果使用PHP和MySQL将新记录插入数据库时如何触发通知。关于数据库更改的实时更新通知MYSQL PHP
9
A
回答
4
MySQL现在有触发器和存储过程,但我不相信他们有任何方式通知外部进程,所以据我所知这是不可能的。你必须每隔一秒钟轮询一下数据库才能查找新记录。
即使是这样,它也会假定你的PHP进程是长期存在的,这样它就可以挂起来记录出现。鉴于大多数PHP用于代码运行的网站,然后尽快退出,因此不清楚这与您的产品是否兼容。
5
最简单的事情可能是每隔几秒轮询一次数据库,看看是否插入了新记录。由于数据库中的查询缓存,这不会影响数据库的性能。
2
如果所有的数据库更改都是由PHP创建的,我会为mysql_query创建一个包装函数,如果查询类型是INSERT,REPLACE,UPDATE或DELETE,我会调用一个函数发送相应的电子邮件。
编辑:我忘了提,但你也可以做类似如下:
if (mysql_affected_rows($this->connection) > 0)
{
// mail(...)
}
0
有一天,我在MySQL的论坛上问,如果像火鸟和Interbase的事件在MySQL的存在,我看到有人回答是(我真的不知道)
检查:http://forums.mysql.com/read.php?84,3629,175177#msg-175177
-1
这可以相对容易地使用存储过程和触发器来实现。我创建了一个“实时查看”屏幕,其中有一个滚动显示屏,该显示屏通过我的事件表中的新事件进行更新。它可能有点烦琐,但一旦运行得很快。
2
您可以创建一个触发器,而不是在发生更新时运行。可以使用UDF(用户定义函数)运行/通知外部进程。没有任何内建的方法可以这样做,所以这是一个加载UDF插件的例子,它会为您做。
Google for'mysql udf sys_exec'或'mysql udf ipc'。
相关问题
- 1. 数据库更改时通知
- 2. PHP更新MySQL数据库
- 3. 通知DataTemplateSelector关于更改
- 4. Mysql数据库更改状态时使用Push.js推送通知
- 5. 通知数据库更改的用户
- 6. 更新时间戳PHP MySQL数据库
- 7. MYSQL和PHP数据库更新不会更新数据库
- 8. 当更新Firebase数据库时发送通知更新
- 9. 实时更新可搜索的数据库MYSQL和PHP
- 10. 实时通知和更新
- 11. 当数据库中的数据更改时收到通知
- 12. PHP更新Mysql数据库中的值
- 13. Cocoa - 关于NSUserDefaults值更改的通知?
- 14. PHP MySQL - 通过数组更新数据
- 15. python:如何获取mysql数据库更改的通知?
- 16. 关于数据库更新的问题
- 17. php可以侦听mysql数据库更改或更新吗? ...思考实时,在这里实时搜索
- 18. 更新时间在mysql数据库
- 19. 更新mysql数据库中的数据
- 20. 通知有关数据更新的Android Activty实例
- 21. 一次更改多个mysql数据库(SAAS数据库更改)
- 22. MySQL数据库更新
- 23. MySQL数据库不能用PHP更新
- 24. 用PHP更新MySQL数据库
- 25. 使用PHP更新MYSQL数据库
- 26. 不能更新mysql数据库与PHP
- 27. PHP和MySQL不更新数据库
- 28. 使用php来更新mysql数据库
- 29. PHP表单不更新mysql数据库
- 30. PHP MySQL不更新数据库
显然这是可能的,但有一些插件: http://dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html#qandaitem-22-5-1-10 – 2009-04-14 22:51:23