gpt4 book ai didi

mysql - MyISAM 和触发器原子性

转载 作者:行者123 更新时间:2023-11-29 10:26:16 28 4
gpt4 key购买 nike

假设我在 MyISAM 表上进行了一些操作(让它成为 INSERT),并附加了触发器。

我知道 MySQL 在运行此 INSERT 时会执行隐式表锁定。

问题:触发器会在这个隐式锁内部运行吗?触发器中使用的表会被这个锁锁定吗?

换句话说,触发器的执行是原子操作(例如我的 INSERT)的一部分吗?

顺便说一句,InnoDB 怎么样?相同?触发器是否包含在显式事务中?

最佳答案

InnoDB 查询在隐式事务中运行。

它实际上运行事务中的所有内容。 “无事务”模式通过每个语句后的隐式提交来模拟(“启动事务”会禁用自动隐式提交)。

此事务包括为查询运行的所有触发器,以及外键的共享模式锁。

使用 MyISAM,触发器将锁定它修改的任何表,就像普通查询一样。它是否是原子的 - 我不知道。

关于mysql - MyISAM 和触发器原子性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48252471/

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