Problema tablas lowercase con MAMP

Me ocurrió que al ir a crear algunas tablas en una base de datos MAMP, algunos nombres estaban en minúsculas, sin embargo las sentencias Create tenían alguna mayúscula; si solo se trabaja en OSX no habría mayor problema, pues para MAC mayúsculas y minúsuclas son lo mismo, y las sentencias no distinguen; el problema me ocurrió al exportar esta base de datos a un entorno linux.

Para evitar problemas y dejar los nombres de las tablas respetando el nombre original, se utiliza una variable lower_case_table_names:

0 -> Los nombres de tablas y bases de datos se almacenan en el disco utilizando el mayúsculas y minúsculas según se especifique en las sentencias CREATE TABLE o CREATE DATABASE. En principio no de debería establecer esta variable a 0 en un sistema que no es case-sensitive (como Windows o OS X). Si se fuerza esta variable a 0 en estos sistemas y se accede a tablas MyISAM utilizando diferentes combinaciones de letras (mayúsculas y minúsculas), puede provocar la corrupción de índices.

1 -> Los nombres de tablas se almacenan en minúsculas en el disco y las comparaciones no distinguen entre mayúsculas y minúsculas. MySQL convierte todos los nombres de tabla en minúsculas en el almacenamiento y consulta. Este comportamiento también se aplica a nombres de bases de datos y alias de tablas.

2 -> Los nombres de tablas y bases de datos se almacenan en el disco utilizando mayúsculas y minúsculas según se especifica en las sentencias CREATE TABLE o CREATE DATABASE, pero MySQL los convierte a minúsculas en las operaciones de búsqueda. Esto funciona sólo en sistemas de archivos que no distinguen entre mayúsculas y minúsculas!

Si deseamos cambiar el comportamiento, añadimos en el fichero my.cnf, en el bloque [mysqld], el parámetro con el valor deseado.

En MAMP para modificar esto debemos ir al menú, en Archivo > Editar Plantilla > MYSQL my.cnf

Luego reiniciamos mysql.

Deja un comentario

Tu dirección de correo electrónico no será publicada.


× seis = cuarenta ocho

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>