我怎样才能发现MySQL中是否有交易?

时间:2010-05-10 20:48:00

标签: mysql database transactions

如何判断mySQL中是否有事务处理?如果没有事务打开,我需要启动新的,但如果有一个正在运行,我不想启动新的,因为那将提交正在运行的事务。

更新:

我需要在我的应用程序的一个方法中查询数据库,但该查询可以作为更大事务的一部分调用,或者就像它本身应该是一个事务一样。将应用程序更改为跟踪是否已打开事务将更加困难,因为它可能从许多代码片段开始。虽然有可能,但我正在寻找能够更快实施的解决方案。简单的if语句中的语句就可以轻松了。

谢谢

1 个答案:

答案 0 :(得分:0)

我假设你这样做是一次性的,而不是试图建立可以以编程方式完成的事情。您可以使用以下命令获取当前活动进程的列表:SHOW PROCESSLIST

http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html

如果你想要一些程序化的东西,那么我会在你的交易开始时建议在桌面上明确锁定并在结束时释放它。