it-swarm.com.de

Ändern der Tabellen-Engine in MySQL

Ich benutze MySQL und MySQL Workbench. Ich habe 5 Tabellen mit innodb engine erstellt. Ich überprüfte ihren Motor und es war innodb, bevor ich Daten in sie einfügte. Ich habe Daten aus 5 MyISAM-Tabellen eingefügt und jetzt sind meine Innodb-Tabellen MyISAM. Ich kann sie nicht ändern. Ich habe die alter table engine = innodb benutzt, aber es funktioniert nicht.

46
AliBZ

Aus dem Handbuch: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

Verwenden Sie beispielsweise die folgende Anweisung, um eine Tabelle in eine InnoDB-Tabelle umzuwandeln:

ALTER TABLE t1 ENGINE = InnoDB;

Das Ergebnis des Versuchs, die Speicher-Engine einer Tabelle zu ändern, hängt davon ab, ob die gewünschte Speicher-Engine verfügbar ist und ob NO_ENGINE_SUBSTITUTION SQL-Modus, wie in Abschnitt 5.1.7 , „Server SQL Modes“ beschrieben.

http://dev.mysql.com/doc/refman/5.1/de/server-sql-mode.html#sqlmode_no_engine_substitution

Wird beim Erstellen der Tabelle eine Warnung angezeigt, dass der Modultyp nicht verfügbar ist?

75
Matt Healy

Es ist nicht offensichtlich. Wenn Sie die Tabelle bearbeiten und dann die Spaltenregisterkarte auswählen , wird das Suchmaschinen-Widget nicht sofort angezeigt. Oben rechts im Bearbeitungsfenster sehen Sie zwei nach unten zeigende Pfeile. Wenn Sie einmal auf den Pfeil klicken , werden zusätzliche Widgets angezeigt. In der oberen rechten Ecke befinden sich jetzt Widgets für das Schema und die Engine.

Result

23
ClearCrescendo