2011-05-23 13 views
14

Google buscando solo encuentra instrucciones para cambiar de un formato a otro, pero parece que no puedo encontrar exactamente cómo asegurarme de cuál de estos tengo primero.¿Cómo comprobar si la tabla MySQL es UTF-8 y tiene storageEngine InnoDB?

¿Cómo puede I:

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? 

Gracias !!

+1

Esto puede ser útil: http://stackoverflow.com/questions/4515490/how-do -i-sabe-si-a-mysql-tabla-está-usando-myisam-o-innodb-engine/4515794 # 4515794 – sarnold

Respuesta

27

Puede usar information_schema para conocer el motor de cada tabla.

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

Para la codificación se puede utilizar

show create table table_name 

o, mejor aún

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

Tiene sentido, pero ¿está seguro de que es la sintaxis? Me aparece este error: columna desconocida 'usuarios' en 'lista de campos' – GeekedOut

+0

Hola. Sí estoy seguro. Es una consulta simple en el esquema de información que funciona con mysql> = 5.0. ¿De qué estás hablando, mi primera o segunda consulta? –

+0

Estaba intentando la primera consulta. Pero seguiré pirateando con eso – GeekedOut

Cuestiones relacionadas