2010-11-05 12 views
10

मैं एक क्वेरी चलाने के लिए देख रहा हूं जो एक तालिका में स्तंभों की एक सूची लौटाएगा जो FULLTEXT अनुक्रमित हैं। तालिका MyISAM प्रारूप में है और मैं क्वेरी बनाने के लिए php का उपयोग करूँगा।एक टेबल दिखाएं FULLTEXT अनुक्रमित कॉलम

आदर्श रूप से मैं क्वेरी चलाऊंगा और यह जानकारी वापस कर देगा ताकि मैं कॉलम की अल्पविराम से अलग स्ट्रिंग का निर्माण कर सकूं।

उदा। "first_name, last_name, ईमेल"

क्या यह MySQL में संभव है?

उत्तर

20

आप जानकारी_schema.STATISTICS तालिका से वह जानकारी प्राप्त कर सकते हैं।

मैं आपको एक या अधिक FULLTEXT अनुक्रमणिका में तालिका में सभी कॉलम प्राप्त करने के लिए क्वेरी दूंगा, क्योंकि मुझे लगता है कि आप यही पूछ रहे हैं। ध्यान रखें कि प्रत्येक FULLTEXT अनुक्रमणिका में कॉलम के विशिष्ट संयोजन बहुत महत्वपूर्ण हैं। MySQL एकाधिक स्तंभों को खोजने के लिए FULLTEXT अनुक्रमणिका का उपयोग नहीं कर सकता है जब तक कि एक एकल FULLTEXT अनुक्रमणिका न हो जिसमें उन सभी कॉलम शामिल हों।

यहाँ पहली क्वेरी कि उत्पादन आप के लिए कहा देता है:

select group_concat(distinct column_name) 
from information_schema.STATISTICS 
where table_schema = 'your_db' 
and table_name = 'your_table' 
and index_type = 'FULLTEXT'; 

और यहाँ एक अगर वहाँ मेज पर 1 से अधिक है कि प्रतिलिपि प्राप्त indexe में स्तंभों के विभिन्न संयोजनों से पता चलता है:

select index_name, group_concat(column_name) as columns 
from information_Schema.STATISTICS 
where table_schema = 'your_db' 
and table_name = 'your_table' 
and index_type = 'FULLTEXT' 
group by index_name; 

SHOW CREATE TABLE [database_name].[table_name] 

बदलें कोष्ठकों के भीतर प्लेसहोल्डर w:

+0

बहुत अच्छा है, मैंने हमेशा उस जानकारी_शेमा डेटाबेस को अंधेरे से अनदेखा कर दिया है, अब आपने संभावनाओं की दुनिया में अपनी आंखें खोली हैं! – th3hamburgler

0

यहाँ एक और तरीका है अपने मूल्यों के साथ।

FULLTEXT लाइनों के लिए आउटपुट को देखें।

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