gpt4 book ai didi

MySQL 触发器和存储过程复制

转载 作者:行者123 更新时间:2023-11-29 01:25:48 25 4
gpt4 key购买 nike

好的,我正在运行一个具有单个主设备和多个从设备的设置。所有写入都会通过主服务器并复制到严格用于读取的从服务器。

现在我有一个存储过程(不是函数),它由插入时的触发器调用。根据 MySQL 文档,对于复制触发器,记录对触发器的调用,而存储过程实际上记录存储过程的结果。

所以我的问题是,当我的触发器被触发时,它会复制触发器和触发器调用的过程的结果(导致过程有效地运行两次)吗?或者它会简单地复制触发器,让从属设备自行重新运行存储过程?

谢谢

最佳答案

在 MySQL 5.0(以及具有基于语句的二进制日志记录的 MySQL 5.1)中,仅记录调用查询,因此在您的情况下,将记录 INSERT。

在从站上,将执行 INSERT,然后触发器将在从站上重新运行。所以触发器需要存在于从机上,并且假设存在,那么它将以与主机完全相同的方式执行。

在 MySQL 5.1 中,存在基于行的二进制日志记录,它只会记录正在更改的行,因此触发器不会在从属设备上重新触发,但所有更改的行仍会传播。

关于MySQL 触发器和存储过程复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/93790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com