आप हाल ही में एक MySQL 5.1 पर हैं, तो यह काम करना चाहिए:
शो इंजन InnoDB स्थिति InnoDB इंजन के लिए सक्रिय लेनदेनों की सूची में शामिल हैं। हर एक लेनदेन आईडी और एक प्रक्रिया आईडी के साथ उपसर्ग है, और इस तरह कुछ हद तक दिखता है:
---TRANSACTION 0 290328284, ACTIVE 0 sec, process no 3195, OS thread id
34831 rollback of SQL statement
MySQL thread id 18272
<query may be here>
MySQL धागा आईडी अपने सत्र की CONNECTION_ID() के अनुरूप होगा, कि आप संपूर्ण PROCESSLIST या INFORMATION_SCHEMA से प्राप्त कर सकते हैं .processlist, ताकि आप यह निर्धारित कर सकें कि कौन सा लेनदेन आपका है। आपको पाठ को पार्स करना होगा, और यदि यह मौजूद है, तो क्वेरी को इसके बाहर पार्स करना होगा।
यदि यह पर्याप्त नहीं है, तो आप प्रत्येक रोलबैक कथन से पहले SET @PROGRESS = @PROGRESS + 1 जैसे कुछ कोशिश कर सकते हैं, और उसके बाद लेनदेन से पहले कितनी दूर तक यह पता लगाने के लिए अपनी क्वेरी के अंत में डुएल से @PROGRESS चुनें एक रोलबैक मारा।
स्रोत
2010-07-14 16:51:22
मुझे लगता है कि प्राकृतिक तरीका उन्हें पहले लॉग इन करना है। यदि आपको नहीं पता कि लेनदेन क्या कर रहा है, तो आप कैसे जान सकते हैं कि आप इसे वापस रोल करना चाहते हैं? –