2011-12-19 9 views
6

Mi base de datos está utilizando actualmente el motor InnoDB. Ahora quiero agregar la función de búsqueda de texto completo, por lo que quiero convertir mis tablas a MyISAM. Pero hacerlo rompe todas las claves foráneas. ¿Cómo puedo cambiar los motores de mi mesa a MyISAM de forma segura?¿Cuál es la forma más segura de convertir la tabla con InnoDB a MyISAM?

¿Cómo puedo usar SELECT ... JOIN después de cambiar mis tablas al motor MyISAM?

ALTER TABLE jobs ENGINE = MyISAM; 
Cannot delete or update a parent row: a foreign key constraint fails 

Respuesta

6

me gustaría recomendar que hacer un volcado de la db, cambiar todo el texto de ese archivo de InnoDB a MyISAM, a continuación, cargar el archivo modificado

4

que yo sepa, no MyISAM soportes claves externas (compare las características ofrecidas por InnoDB frente a las características de MyISAM). MySQL intenta decirle que debe eliminar cada restricción de clave externa que haga referencia a su tabla jobs antes de cambiar su motor a MyISAM.

+0

Tuve el mismo mensaje de error al convertir una tabla y tan pronto como eliminé todas las restricciones de claves externas, la conversión funcionó perfectamente. ¡Así que es exactamente como dice Kohanyi! (piense en lo que está haciendo antes de eliminarlos ... en mi caso, las restricciones no servían, pero en algunos casos pueden estar ahí por algún motivo (para garantizar la integridad de la base de datos si algunas aplicaciones tienen errores) ;-) – lucaferrario

Cuestiones relacionadas