2010-11-26 7 views
8

क्या सभी mysql चेतावनियों को घातक त्रुटियों को बढ़ावा देने का कोई तरीका है? मैं किसी भी डेटा कटाव से बचना चाहता हूं (fractional भागों सहित)।मैं सभी mysql चेतावनियों की घातक त्रुटियों को कैसे बना सकता हूं?

उत्तर

2

कुछ तरीकों से, MySQL SQL मानक द्वारा आवश्यक त्रुटियों के बजाय चेतावनियां बढ़ाता है।

महत्वपूर्ण डेटा हटा दिए जाने पर आप निश्चित रूप से एक त्रुटि उठाना चाहते हैं, लेकिन संभवतः आप एक त्रुटि नहीं चाहते हैं जब एक COUNT (colname) अभिव्यक्ति कॉलम में नल के साथ कुछ पंक्तियां पाती है और उन्हें गिनती उद्देश्यों के लिए अनदेखा करती है (ए मानक चेतावनी)।

चूंकि MySQL मानक के अनुरूप अधिक हो जाता है, चेतावनियां जिनके पास डेटा अखंडता प्रभाव नहीं जोड़ा जा सकता है।

यदि किसी ऐसे मोड में MySQL का उपयोग करना है जो SQL मानक का अधिक बारीकी से पालन करता है, तो आप अपने एप्लिकेशन कोड में अस्वीकार्य चेतावनियों को पकड़ सकते हैं और उचित क्षतिपूर्ति क्रियाएं जोड़ सकते हैं।

5

मैं नहीं कह सकता कि क्या यह त्रुटियों के सभी चेतावनी को बढ़ावा देंगे तो क्षमा याचना करता है, तो आप इस के पहले से ही जानते हैं, लेकिन देखते हैं कई MySQL server modes है कि आप के लिए काम कर सकते हैं:

पारंपरिक

MySQL को "पारंपरिक" SQL डेटाबेस सिस्टम की तरह व्यवहार करें। कॉलम में गलत मान डालने पर इस मोड का एक सरल वर्णन "चेतावनी के बजाय त्रुटि दें" है।

सख्त मोड को नियंत्रित करता है कैसे MySQL इनपुट मानों कि अमान्य या गुम हैं संभालता है:

STRICT_ALL_TABLESTRADITIONAL का हिस्सा है। कई कारणों से एक मूल्य अमान्य हो सकता है। उदाहरण के लिए, इसमें कॉलम के लिए गलत डेटा प्रकार हो सकता है, या यह

+3

यह काम नहीं करता है। 'STRICT_ALL_TABLES' सेट करने के बाद भी कई चेतावनियां अभी भी चेतावनियां हैं। – Pacerier

संबंधित मुद्दे