2009-10-28 16 views
18
  • Wie kann ich den Typ der MySQL-Datenbank bestimmen: ob es InnoDB oder MyISAM ist?
  • Wie kann ich MyISAM in InnoDB umwandeln und umgekehrt?
+0

Sie eine beliebige Datenbank Verwaltungssystem verwenden Sie? Wie phpMyAdmin oder SQLyog? –

+0

Nein. Ich verwende kein Datenbankverwaltungssystem. – Rachel

+0

Ich versuche alter Tabelle the_table engine = InnoDB; aber es scheint, dass Motor nicht geändert wird, ist es weil ich nicht richtig oder was könnte der Grund dafür sein? – Rachel

Antwort

31

die Speicher-Engine Um zu bestimmen, durch eine Tabelle verwendet wird, können Sie show table status verwenden. Das Feld Engine in den Ergebnissen zeigt das Datenbankmodul für die Tabelle an. Alternativ können Sie das engine Feld von information_schema.tables wählen:

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

Sie zwischen Speicher-Engines alter table mit ändern können:

alter table the_table engine = InnoDB; 

Wo, natürlich können Sie einen beliebigen verfügbaren Speicher-Engine angeben.

+1

Ich versuche alter Tabelle the_table engine = InnoDB; aber es scheint, dass Motor nicht geändert wird, ist es weil ich nicht richtig oder was könnte der Grund dafür sein? – Rachel

+0

"Wenn eine Speicher-Engine einen versuchten ALTER TABLE-Vorgang nicht unterstützt, kann eine Warnung ausgegeben werden. Solche Warnungen können mit SHOW WARNINGS angezeigt werden" –

10

die betreffende Datenbank auswählen und show table status;

3
SHOW TABLE STATUS FROM `database`; 

listet alles für alle Tabellen laufen, beginnend mit, ob sie MyISAM oder InnoDB sind. wenn Sie nur Daten aufzulisten wünschen in Bezug auf 1 Tisch, die Syntax unten kann verwendet werden *:

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

den Tisch Motor zu ändern:

ALTER TABLE `table` ENGINE=InnoDB; 

* Aufmerksamkeit der ACCENT GRAVE verwenden (`Graviszeichen) für der Datenbankname und der Tabellenname und das SINGLE QUOTE (') für die Vergleichszeichenfolge (Teil des Tabellennamens) nach LIKE.

`! = '

Verwandte Themen