【问题标题】:Is it safe to use triggers in innoDB?在 innoDB 中使用触发器是否安全?
【发布时间】:2016-04-21 17:55:16
【问题描述】:

我们在购买商品上放一个触发器,触发器从用户账户中提取资金,安全吗?事务是否自动应用于购买请求和触发器内的所有请求?

【问题讨论】:

  • 您不应该检查资金是否可用,而不是事后“拿走”吗?
  • 是的,这只是一个例子,我感兴趣的是安全地使用触发器而不是包含在事务中的多个查询。 IndoDB 使用触发器自动将 2 个查询包装在一个事务中?
  • (我的观点:)最好让所有活动在事务中清晰可见,而不是隐藏在触发器、级联 FK 的东西等中。

标签: mysql triggers transactions innodb


【解决方案1】:

无论数据库引擎如何,使用触发器总是安全的。但是,如果您配置了 基于行的复制,并且在 insert 之后有一个触发器,那么从属服务器中的延迟会变得更高。 Slave 需要一些时间才能赶上。

触发器的限制和限制在下面的链接中给出,参考相同

https://dev.mysql.com/doc/mysql-reslimits-excerpt/5.1/en/stored-program-restrictions.html

【讨论】:

    猜你喜欢
    • 2014-03-08
    • 2014-03-01
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 2010-12-29
    相关资源
    最近更新 更多