sql - How to create Trigger to prevent inserting the duplicate row in MYSQL 5.0.27? -


यह प्रश्न निम्न पिछले प्रश्न का पालन करता है।

मेरे पास एक तालिका MyText है जिसमें आईडी कॉलम, text कॉलम & amp; कई अन्य कॉलम

 आईडी - पाठ - प्रकार .. और अन्य फाइल 1 - यह मेरा पाठ है 2 - xxxx 

मुझे text कॉलम समर्थन यूनिकोड चाहिए अधिकतम लंबाई के साथ 700 यूनिकोड वर्ण रख सकते हैं। मैं अद्वितीय (टेक्स्ट) को सेट नहीं कर सकता क्योंकि यूनिकोड को 3 बाइट्स लेते हैं, इसलिए मुझे 2100 बाइट्स (700 * 3) अद्वितीय कॉलम की आवश्यकता है।

< P> तो, समाधान एक ट्रिगर को क्रेट करना है जो उपयोगकर्ता को डुप्लिकेट सम्मिलित करने से रोकता है। उदाहरण के लिए, यदि उपयोगकर्ता " यह मेरा पाठ है " (हम केस संवेदी पर ध्यान नहीं रखेंगे) में MyText तालिका में प्रवेश करेंगे, तो Mysql पूरी तरह से सभी प्रश्नों को रद्द कर देगा जिसमें डालने स्टेटमेंट और सिस्टम को अन्य क्वेरी करने से रोकने के लिए SQLException उत्पन्न करेगा।

ठीक है, मान लीजिए आपको अपने जावा कोड में एसक्यूएल स्टेटमेंट की एक श्रृंखला चलाने की है

< प्री> MyText में डालें ('यह मेरा पाठ है', 1); अन्य टेबल में डालें ('कुछ पाठ'); ओटेटटैबल अपडेट करें ...

तब जब सिस्टम कर रहा है MyText में डालें ('यह मेरा पाठ है', 1); , इसे अन्य क्वेरीज़ करना बंद कर देना चाहिए इसके अलावा, कुछ लोग उपसर्ग सूचकांक करने के लिए Nysql को चयन करें जल्दी करने में मदद करने का सुझाव देते हैं, लेकिन मुझे यकीन नहीं है कि यह

ध्यान दें: MYSQL 5.027 2006 संस्करण है जो बहुत पुराना है, लेकिन मुझे यह पसंद है

तो कैसे ट्रिगर बनाने के लिए जो मेरी आवश्यकता को पूरा करता है या मेरी समस्या को कैसे ठीक करें?

मैं प्रदर्शन कारणों की वजह से इसके लिए एक ट्रिगर का उपयोग नहीं करने की सिफारिश करेगा

इसके बजाय, अपने मान की एक या हैश को संग्रहित करने के लिए एक अतिरिक्त कॉलम बनाएं, और उस स्तंभ को एक बाधा का उपयोग करके अद्वितीय बनाएं।

उपर्युक्त लिंक्स के अनुसार, दोनों हैशिंग फ़ंक्शन मौजूद हैं MySQL का संस्करण वैकल्पिक रूप से, यदि आपके जावा कोड में इसे एकीकृत करना आसान है, तो आप क्लास का इस्तेमाल करते हुए जावा में हैशिंग कर सकते हैं।

आपके सवाल का वह हिस्सा जहां आप इंगित करते हैं कि कोई अन्य क्वेरी निष्पादित नहीं की जानी चाहिए, एक डुप्लिकेट की वजह से विफल रहता है, इसका सबसे अच्छा इस्तेमाल किया जाता है। ये सादे जेडीबीसी या अधिकतर ओआरएम फ्रेमवर्क्स का उपयोग कर जावा में भी समर्थित हैं।


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -