2011-05-23 7 views
14

गुगलिंग के आसपास सिर्फ एक प्रारूप से दूसरे प्रारूप में बदलने के लिए निर्देश मिलते हैं, लेकिन मुझे यह नहीं लगता कि यह सुनिश्चित करने के लिए कि वास्तव में इनमें से कौन सा है।कैसे जांचें कि MySQL तालिका UTF-8 है और क्या स्टोरेज Engine InnoDB है?

मैं कैसे कर सकते हैं:

1) Check what character encoding a table has? 
2) Check what storage engine a table uses? 
3) Check if all tables are certain encoding? 
4) Check if all tables have a certain storage engine? 

धन्यवाद !!

+1

यह उपयोगी हो सकता है: http://stackoverflow.com/questions/4515490/how-do -i-know-if-a-mysql-table-is-use-myisam-or-innodb-engine/4515794 # 4515794 – sarnold

उत्तर

27

आप प्रत्येक तालिका के इंजन को जानने के लिए info_schema का उपयोग कर सकते हैं।

select table_name,engine 
from information_schema.tables 
where table_schema = 'your_database' 

एन्कोडिंग के लिए आप

show create table table_name 

उपयोग कर सकते हैं या और भी बेहतर

select 
c.character_set_name 
from information_schema.tables as t, 
    information_schema.collation_character_set_applicability as c 
where c.collation_name = t.table_collation 
and t.table_schema = "your_db" 
and t.table_name = "table_name"; 
+0

यह समझ में आता है, लेकिन क्या आप वाकई वाक्यविन्यास हैं? मुझे यह त्रुटि मिलती है: 'फ़ील्ड सूची' में अज्ञात कॉलम 'उपयोगकर्ता' – GeekedOut

+0

हाय। हाँ मुझे यकीन है। यह info_schema पर एक साधारण क्वेरी है जो mysql> = 5.0 के साथ काम करता है। आप मेरी पहली या दूसरी क्वेरी के बारे में क्या बात कर रहे हैं? –

+0

मैं पहली क्वेरी की कोशिश कर रहा था। लेकिन मैं इसके साथ हैकिंग रखूंगा – GeekedOut