【发布时间】:2013-09-30 11:27:18
【问题描述】:
我的 MySQL 5.5 服务器设置了autocommit=1。
我的存储过程有几个 DML,但没有明确的事务管理。
当我从 MySQL CLI 发出 call the_procedure()(autocommit 仍然是 1)时,所有过程的 DML 是否在一个事务中运行?
或者它们是否在单独的事务中运行,并在每个 DML 之后导致隐式事务提交(由于自动提交)?
【问题讨论】:
-
除非他们故意反常,否则 MySQL 的行为可能与大多数其他 SQL 数据库相同 - 事务和存储例程是正交概念 - 单个事务可以跨越多个例程,单个例程可以创建和提交多个事务。
标签: mysql sql database stored-procedures