Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 提交数据库中的更改时触发函数_Sql_Database_Triggers_Chat_Websocket_Comet_Message Queue - Fatal编程技术网

Sql 提交数据库中的更改时触发函数

Sql 提交数据库中的更改时触发函数,sql,database,triggers,chat,websocket,comet,message-queue,Sql,Database,Triggers,Chat,Websocket,Comet,Message Queue,我一直在想,是否有可能创建一个代码块(可能是php代码),当某个更改提交到数据库时执行该代码块 例如,聊天应用程序。当用户发送一条消息时,它会将一条消息添加到一个表中,然后我想强制所有其他用户使用AJAX请求来读取这个新值(而不是每隔100ms发送一次AJAX请求来检查是否有新消息) 我记得有些事情涉及node.js和其他类型的数据库,而不是mysql。如果这是唯一的解决方案,它能与普通的mysql数据库一起工作吗 提前谢谢 是的,MySQL支持,但它们仅限于执行其他数据操作。因此,您仍然需要向

我一直在想,是否有可能创建一个代码块(可能是php代码),当某个更改提交到数据库时执行该代码块

例如,聊天应用程序。当用户发送一条消息时,它会将一条消息添加到一个表中,然后我想强制所有其他用户使用AJAX请求来读取这个新值(而不是每隔100ms发送一次AJAX请求来检查是否有新消息)

我记得有些事情涉及node.js和其他类型的数据库,而不是mysql。如果这是唯一的解决方案,它能与普通的mysql数据库一起工作吗

提前谢谢

是的,MySQL支持,但它们仅限于执行其他数据操作。因此,您仍然需要向javascript客户端发送一些通知

使用或执行客户端通知的更好方法,允许服务器从服务器推送通知

您没有提供关于您的编程环境的太多细节,因此我将让您遵循上面给出的标记链接,并研究使用这些通用方法的适当工具和框架


请回复您的评论:

  • 对于PHP,下面是一个示例“推送”聊天应用程序:

  • 下面是关于一般使用消息队列的入门:

  • 下面是RabbitMQ的教程(PHP可用的许多MQ解决方案中的一个简单选项),包括PHP示例:


你能不能做一个调用
函数的
触发器
?@Siyual我不知道你的意思。如果你正在寻找当表
更新
插入
、或
删除
时执行的某个操作,那么这就是
触发器
。如果你想运行一个
函数
,你能不能不从
触发器内部运行它?@fancyPants我编辑了这个问题。希望你能理解now@Siyual我该怎么做?如何向执行PHP函数的表中添加
触发器
。我一定会读到关于websocket和comet的文章:)谢谢!