Sto usando mysql e mysql workbench. Ho creato 5 tavoli con il motore innodb. Ho controllato il loro motore ed è stato innodb prima di inserire i dati in essi. Ho inserito i dati da 5 tabelle MyISAM e ora i miei tavoli innodb sono MyISAM. Non posso cambiarli Ho usato il motore alter table = innodb ma non funziona.Modifica del Table Engine in MySQL
risposta
Dal manuale: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
Ad esempio, per convertire un tavolo per essere una tabella InnoDB
, utilizzare questa dichiarazione:
ALTER TABLE t1 ENGINE = InnoDB;
L'esito di tentare di cambiare il motore di memorizzazione di una tabella è influenzata da se il motore di archiviazione desiderato è disponibile e l'impostazione della modalità SQL NO_ENGINE_SUBSTITUTION
, come descritto in Section 5.1.7, "Modalità SQL Server".
http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html#sqlmode_no_engine_substitution
Quando si crea la tabella si ottiene alcun avvertimento circa il tipo motore indisponibilità?
Non è ovvio. Se si modifica la tabella e quindi selezionare la scheda della colonna, il widget del motore non è immediatamente visibile. Nella parte in alto a destra della finestra di modifica vedrai due chevrons rivolti verso il basso. Seleziona la freccia una volta e appariranno altri widget. Nell'angolo in alto a destra ci saranno ora i widget per lo schema e il motore.
Ho modificato l'immagine per mettere i puntatori e numerati 1 e 2 per mostrare la sequenza di azioni. –
Fornisci maggiori dettagli. Come hai provato a cambiare motore? Come hai "inserito i dati da 5 tavoli MyISAM"? – zerkms