Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:启动事务集';自动提交';离开?_Mysql - Fatal编程技术网

MySQL:启动事务集';自动提交';离开?

MySQL:启动事务集';自动提交';离开?,mysql,Mysql,当我立即执行START TRANSACTION,然后执行SHOW变量,如“autocommit”时,我看到变量autocommit仍然设置为ON。在我明确地说“提交”之前,这不是应该设置为“关闭”吗 来源:据我所知,事务只是忽略了自动提交设置。因此,启动事务不会更改autocommit变量的值。这是有道理的,因为在用户a的事务处理时,您不希望一个用户a的事务禁用用户b的自动提交 这在阅读文档时并不明显,除非您将“自动提交模式”和“自动提交变量”理解为两个不同的东西,它们是。在我提供的链接中,它明

当我立即执行
START TRANSACTION
,然后执行
SHOW变量,如“autocommit”
时,我看到变量
autocommit
仍然设置为
ON
。在我明确地说“提交”之前,这不是应该设置为“关闭”吗


来源:

据我所知,事务只是忽略了自动提交设置。因此,启动事务不会更改autocommit变量的值。这是有道理的,因为在用户a的事务处理时,您不希望一个用户a的事务禁用用户b的自动提交


这在阅读文档时并不明显,除非您将“自动提交模式”和“自动提交变量”理解为两个不同的东西,它们是。

在我提供的链接中,它明确表示“自动提交模式”在
START TRANSACTION
中禁用,但没有提及“自动提交变量”但是它接着说,
“通过将autocommit变量设置为零来禁用autocommit模式”
,这对我来说意味着它们是相同的。。我读得不对吗?在文档中,它讨论的是如何在整个会话中关闭自动提交模式,而不是事务。这是一份写得很糟糕的文档,其中的几段与讨论交易无关,而是提供了关于autocommit变量的更多细节。虽然我找不到专门讨论这两件事的文章,但从我在互联网上阅读的其他内容来看,你似乎是对的。谢谢