2009-10-28 17 views
18
  • ¿Cómo puedo determinar el tipo de base de datos mysql: si es InnoDB o MyISAM?
  • ¿Cómo puedo convertir MyISAM a InnoDB o viceversa?
+0

¿Utiliza cualquier sistema de gestión de base de datos? Al igual que phpMyAdmin o SQLyog? –

+0

No. No estoy usando ningún sistema de administración de bases de datos. – Rachel

+0

Estoy tratando alter table the_table engine = InnoDB; pero parece que el motor no ha cambiado, ¿es porque no tengo razón o cuál podría ser el motivo? – Rachel

Respuesta

31

Para determinar el motor de almacenamiento de ser utilizado por una tabla, puede utilizar show table status. El campo Engine en los resultados mostrará el motor de base de datos para la tabla. Como alternativa, puede seleccionar el campo de engineinformation_schema.tables:

select engine 
from information_schema.tables 
where table_schema = 'schema_name' 
    and table_name = 'table_name' 

Puede cambiar entre motores de almacenamiento utilizando alter table:

alter table the_table engine = InnoDB; 

donde, por supuesto, se puede especificar cualquier motor de almacenamiento disponible.

+1

Estoy tratando alter table the_table engine = InnoDB; pero parece que el motor no ha cambiado, ¿es porque no tengo razón o cuál podría ser el motivo? – Rachel

+0

"Si un motor de almacenamiento no es compatible con una operación ALTER TABLE intentada, se puede producir una advertencia. Tales advertencias se pueden mostrar con SHOW WARNINGS". –

10

Seleccione la base de datos en cuestión y ejecutar show table status;

3
SHOW TABLE STATUS FROM `database`; 

, aparecerá una lista de muebles para todas las tablas, empezando por si son MyISAM o InnoDB. si el deseo de una lista única de datos en relación con 1 mesa, la sintaxis a continuación puede utilizarse *:

SHOW TABLE STATUS FROM `database` LIKE 'table'; 

que cambiar el motor tabla:

ALTER TABLE `table` ENGINE=InnoDB; 

* Atención utilizan el acento grave (`tilde) para el nombre de la base de datos y el nombre de la tabla y el SINGLE QUOTE (') para la cadena de comparación (parte del nombre de la tabla) después de LIKE.

`! = '

Cuestiones relacionadas