当前位置: 首页 > 面试题库 >

在MySQL中显示未结交易

朱建弼
2023-03-14
问题内容

我没有提交就做了一些查询。然后应用程序被停止。

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


问题答案:

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

没有打开的事务,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()再调用,然后再次调用以查看标识符是否已更改。

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



 类似资料:
  • 问题内容: 我有一个查询MySQL数据库的PHP搜索脚本。当前,当未显示任何结果时,脚本显示并显示错误。当什么都没有返回时,如何使它显示诸如“未找到结果”之类的消息? 我的PHP脚本是: 问题答案:

  • 问题内容: 如何突出显示使用php的mysql查询的搜索结果? 这是我的 [修改] 代码: 问题答案: 您可以使用preg_replace();,当它在文本中找到匹配项时,您可以在匹配词周围放置一个带有突出显示类别的div。然后,您可以向突出显示类添加背景颜色和边框,以使其突出显示 preg_replace期望3个参数; 第一个是您要寻找的 第二个是应该更改为 他应从中搜索并替换的文本字符串 例如

  • 问题内容: 我以为Python交互模式下的显示总是等效的,但是事实并非如此。这是语言功能还是我缺少什么?谢谢 问题答案: 是的,此行为是故意的。 来自Python文档 7.1。表达陈述 Expression语句(通常是交互式地)用于计算和写入值,或(通常)用于调用过程(一个不返回有意义结果的函数;在Python中,过程返回value )。表达式语句的其他用法是允许的,有时是有用的。表达式语句的语法

  • 我已经创建了users表。 然后我创建了一个新的帐户前端网页。 我给出了: 用户名:° 帐户创建成功。 现在我可以通过我的用户名和密码登录。然后我可以清楚地看到我的用户名为°在网页。 但当我在终端中运行sql查询时: 我得到的输出是: 我无法看到我的用户名为°。但我可以通过网页登录。 为什么我不能在查询输出中看到我的用户名? 有些用户说我的终端编码有问题。 为了测试这一点,我运行。 输出为° 所以

  • 问题内容: 我有一些简单的查询: 我想你现在结果如何。 我要做的是根据查询结果中显示的数据量显示一些序号。它就像(这并不意味着我要显示ID)。我想要的结果是: 我该怎么做呢? 提前致谢 问题答案:

  • 问题内容: 我有这个mysql表: 等等。我可以简单地获取结果并通过以下代码按日期将其排序: 但是如何显示按特定日期排序的表中的元素,如下所示: 等等。谢谢! 问题答案: 这是PHP代码: 输出: 汤姆 麦可 2012-11-17 埃里克 约翰 2012-11-16 拉里 凯特 请注意,虽然此代码将行按一列“分组”,但可以轻松地扩展为按多列对行进行分组。留作练习。