मुझे लगता है कि मेरी टिप्पणियों के आपके उत्तरों के आधार पर, आपको वास्तव में टेबल लॉक को मैन्युअल रूप से संभालने के बारे में चिंता करने की ज़रूरत नहीं है। InnoDB पंक्ति-स्तरीय लॉकिंग का समर्थन करता है और ऑटोकॉमिट सक्षम होने के साथ (जैसा कि यह डिफ़ॉल्ट रूप से होता है) सभी व्यक्तिगत प्रश्नों को वास्तव में एक लेनदेन तरीके से नियंत्रित किया जाता है।
अब यदि आपके पास एक से अधिक SQL क्वेरी हैं जिन्हें एकल लेनदेन के रूप में संभालने की आवश्यकता है (अर्थात एक तालिका अपडेट करें, फिर दूसरी तालिका अपडेट करें - या तो दोनों सफल हों या दोनों वापस लुढ़क जाएं) तो आपको विशेष रूप से एक लेनदेन शुरू करने और या तो इसे करने की आवश्यकता होगी या अनंतिम प्रश्नों के निष्पादित होने के बाद इसे वापस रोल करें।
आप SET TRANSACTION
. का भी उपयोग कर सकते हैं स्टेटमेंट अगर आपको ट्रांजेक्शन आइसोलेशन लेवल बदलने की जरूरत है (यह डिफ़ॉल्ट रूप से `रिपीटेबल रीड1 है)।
अधिक जानकारी के लिए MySQL दस्तावेज़ीकरण