mariadb - 发送数据库邮件
问题描述
我在我们的 Web 应用程序中创建了一个触发器来确定原因。每当数据将根据触发器代码中提到的 SQL 进行更改时,我将数据库中的旧数据作为单独的表保存,但我也想发送实时通知。当触发器调用时,有什么方法可以发送邮件或其他实时通知吗?
我正在使用 MariaDB 服务器 + PHP
解决方案
我建议不要在数据库中的触发器中执行此操作。原因是触发器在事务提交之前执行。如果客户端收到通知,然后查找数据,他们可能看不到任何数据,因为尚未提交。
或者可以发送通知,但之后事务回滚。所以他们永远不会看到导致通知的变化。
在您的应用程序中执行此操作更安全:
- 提交对数据库的更改。
- 在应用程序确认提交成功后发送通知。
推荐阅读
- c++ - 如何为 Cmake 项目的其余部分隔离 GTK3 google protobuf 2.6.1 依赖项与 Google protobuf 3.8.0
- ajax - 在反应钩子中完成另一个提取后立即提取数据
- kubernetes - kubectl expose中端口选项的用途是什么
- python - Python 将 3 个字符串误解为 UTF-8 连续字节
- amazon-web-services - 如何让 Route53 转发/指向 AWS 中的负载均衡器?
- java - 在 Espresso 测试中断言 ProgressBar 的进度
- webgl - webGL gl_Position 值保存外部着色器
- excel - 如何按名称过滤一列,然后从另一列中获取值?
- c++ - 为什么在分配给派生类时,来自基类的 operator= 不是候选者?
- complexity-theory - Sudoko 求解器的时间复杂度和与 NP 完备性的关系