उन कुछ रहस्यमय मुद्दों में दिलचस्पी रखने वालों के लिए पृष्ठभूमि का एक सा हिस्सा जो मैं SQL Fiddle पर काम कर रहा हूं:
JDBC में स्पष्ट कमिट अक्षम करें, SQL में उनका पता लगाएं, या डेटाबेस को केवल पढ़ने योग्य स्थिति में रखें ए> (dba.se)
अनिवार्य रूप से, मैं यह सुनिश्चित करने की कोशिश कर रहा हूं कि बेलाएं हमेशा एक सुसंगत स्थिति में रहें, भले ही लोग उनके साथ खेलें। एक चीज जिसके बारे में मुझे चिंता है, वह यह है कि लोग जानबूझकर डेटाबेस के साथ खिलवाड़ कर रहे हैं, उन्हें अन्य लोगों के लिए तोड़ रहे हैं जो उनके साथ काम कर रहे हैं (यह पहले हुआ है, लेकिन अक्सर सौभाग्य से नहीं)।
मुझे प्रत्येक डेटाबेस प्लेटफॉर्म के लिए चीजों को साफ रखने के तरीके मिल गए हैं, लेकिन दिलचस्प बात यह है कि प्रत्येक प्लेटफॉर्म के लिए प्रत्येक विधि पूरी तरह से अलग है। दुर्भाग्य से, MySQL के लिए मुझे सबसे खराब विकल्प का सहारा लेना पड़ा - केवल दाईं ओर चयन की अनुमति देना। ऐसा इसलिए है क्योंकि प्रश्नों को लिखने के बहुत सारे तरीके हैं जिनमें निहित प्रतिबद्धताएं शामिल हैं, और ऐसा कोई तरीका नहीं है जिससे मैंने इसे क्वेरी पक्ष पर सीधे इनकार करने से रोकने के लिए पाया है। यह काफी दुर्भाग्यपूर्ण है, मुझे एहसास है, लेकिन ऐसा लगता है कि इसकी आवश्यकता है।
किसी भी तरह, यह विशेष बग एक बदलाव का परिणाम था जिसे मैंने हाल ही में MySQL के तर्क में किया था। यह अब ठीक हो गया है, और अब अपेक्षित त्रुटि संदेश की रिपोर्ट करता है: