2009-10-28 10 views
18
  • Come determinare il tipo di database mysql: se è InnoDB o MyISAM?
  • Come posso convertire MyISAM in InnoDB o viceversa?
+0

Usi qualsiasi sistema di gestione di database? Come phpMyAdmin o SQLyog? –

+0

No. Non utilizzo alcun sistema di gestione database. – Rachel

+0

Sto provando alter table the_table engine = InnoDB; ma sembra che il motore non è cambiato, è perché non ho ragione o quale potrebbe essere la ragione per questo? – Rachel

risposta

31

Per determinare il motore di memorizzazione utilizzato da una tabella, è possibile utilizzare show table status. Il campo Engine nei risultati mostrerà il motore del database per la tabella. In alternativa, è possibile selezionare il campo da engineinformation_schema.tables:

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

È possibile cambiare tra i motori di storage che utilizzano alter table:

alter table the_table engine = InnoDB; 

Dove, naturalmente, è possibile specificare qualsiasi motore di archiviazione disponibile.

+1

Sto provando alter table the_table engine = InnoDB; ma sembra che il motore non è cambiato, è perché non ho ragione o quale potrebbe essere la ragione per questo? – Rachel

+0

"Se un motore di archiviazione non supporta un'operazione ALTER TABLE tentata, potrebbe verificarsi un avviso che può essere visualizzato con SHOW WARNINGS" –

10

Selezionare il database in questione ed eseguire show table status;

3
SHOW TABLE STATUS FROM `database`; 

elencherà tutto per tutti i tavoli, a partire da se sono MyISAM o InnoDB. se il desiderio di elencare solo i dati per quanto riguarda 1 tavolo, la sintassi di seguito può essere * utilizzato:

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

di cambiare il motore tavolo:

ALTER TABLE `table` ENGINE=InnoDB; 

* attenzione utilizzare l'accento grave (`backtick) per il nome del database e il nome della tabella e il SINGLE QUOTE (') per la stringa di confronto (porzione del nome della tabella) dopo LIKE.

`! = '

Problemi correlati