2011-10-18 3 views
5

मैं mysql डीबी का उपयोग कर रहा हूँ। मुझे postgresql पता है और एसक्यूएल सर्वर आंशिक इंडेक्सिंग का समर्थन करता है। मेरे मामले में मैं इस तरह कुछ करना चाहता हूँ:आंशिक इंडेक्स या फ़िल्टर किए गए इंडेक्स के लिए mysql में वर्कअराउंड?

CREATE UNIQUE INDEX myIndex ON myTable (myColumn) where myColumn <> 'myText' 

मैं एक अद्वितीय बाधा बनाना चाहते हैं, लेकिन यह डुप्लिकेट की अनुमति चाहिए अगर यह एक विशेष पाठ है।

मुझे mysql में ऐसा करने का सीधा तरीका नहीं मिला। लेकिन, क्या इसे हासिल करने के लिए कोई कामकाज है?

उत्तर

5

मुझे लगता है कि इसे प्राप्त करने का केवल एक ही तरीका है। आप अपने मेज पर एक और स्तंभ जोड़ने के लिए उस पर सूचकांक बना सकते हैं और ट्रिगर बना सकते हैं या निम्नलिखित शर्त का उपयोग इस कॉलम को भरने के लिए डालूँ अपने संग्रहित प्रक्रियाओं के अंदर/अद्यतन कर सकते हैं:

if value = 'myText' then put null 
otherwise put value 

आशा है कि यह मदद करता है

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

  • कोई संबंधित समस्या नहीं^_^