栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在MySQL中显示未结交易

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在MySQL中显示未结交易

如何显示这些未清交易并提交或取消交易?

没有打开的事务,MySQL将在断开连接时回滚该事务。
您无法提交交易(IFAIK)。

您使用显示线程

SHOW FULL PROCESSLIST

参见:http :
//dev.mysql.com/doc/refman/5.1/en/thread-
information.html

这将无济于事,因为您无法从断开的连接中提交事务。

当连接断开时会发生什么
从MySQL文档:http :
//dev.mysql.com/doc/refman/5.0/en/mysql-
tips.html

4.5.1.6.3。禁用MySQL自动重新连接

如果mysql客户端在发送语句时失去与服务器的连接,它将立即自动尝试重新连接一次到服务器并再次发送该语句。 但是
,即使mysql成功重新连接,您的第一个连接也已结束,并且先前的所有会话对象和设置 都将丢失
:临时表,自动提交模式以及用户定义的会话变量。同样, 任何当前事务都会回滚

此行为对您可能很危险,如以下示例所示,在您不知道的情况下在第一条和第二条语句之间关闭并重新启动服务器:

另请参阅:http :
//dev.mysql.com/doc/refman/5.0/en/auto-
reconnect.html

如何诊断和解决此问题
要检查自动重新连接:

如果确实发生了自动重新连接(例如,由于调用mysql_ping()),则没有明确的指示。要检查是否重新连接,请先调用

mysql_thread_id()
以获得原始连接标识符
mysql_ping()
,然后
mysql_thread_id()
再调用,然后再次调用以查看标识符是否已更改。

确保将最后一个查询(事务)保留在客户端中,以便在需要时可以重新提交。
并禁用自动重新连接模式,因为这样做很危险,请改为执行自己的重新连接,这样您就可以知道何时发生丢弃并可以重新提交该查询。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/426217.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号