2010-05-10 44 views
0

我怎样才能知道在mySQL中是否有事务打开?如果没有事务处于打开状态,我需要启动新的事务,但如果有一个事务正在运行,我不想启动新事务,因为那样会提交正在运行的事务。如何才能知道在MySQL中是否有事务打开?

UPDATE:

我需要查询数据库,在我的应用程序的一种方法,但该查询可以被称为大交易的一部分,或者只是因为它应该是对自己的事务。更改应用程序以跟踪它是否已经打开一个事务会更困难,因为它可能从许多代码段开始。虽然这是可能的,但我正在寻找更快实施的解决方案。简单,如果在SQL语句将毫不费力。

谢谢

+0

你的意图听起来很混乱。也许如果你解释了你正在做的事情,我们可以帮助提出一个更清晰的解决方案?我从来不需要检查一个txn是否已经打开,你通常基于代码流“知道”... – 2010-05-10 21:18:25

回答

0

我假设你正在做的这是一个一次性的,而不是试图建立的东西,可以通过编程来完成。你可以使用目前活动进程的列表:SHOW PROCESSLIST

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

如果你想要的东西程序化的,那么我会建议对表的显式锁,在你交易的开始和释放结束。

+0

不,我希望能够以编程方式完成它。这听起来不像是无法完成的事情,但我没有发现任何可能表明它可能的事情:| – marianboda 2010-05-10 21:04:28

相关问题