¿El nombre de la columna y la tabla es sensible a mayúsculas y minúsculas en MySQL

Si tengo un nombre de columna llamado category_id y Category_Id , ¿son diferentes?

Y si tengo una tabla llamada category y Category , ¿son diferentes?

En Unix, los nombres de las tablas distinguen entre mayúsculas y minúsculas. En Windows, no lo son. Diversión, ¿no es así? Un poco como sus respectivos sistemas de archivos. ¿Crees que es una coincidencia?

En otras palabras, si planea implementar en una máquina Linux, pruebe mejor su SQL contra un MySQL basado en Linux también, o prepárese para misteriosos errores de “tabla no encontrada” en tiempo prod. Las máquinas virtuales son baratas en estos días.

Los nombres de campo no distinguen entre mayúsculas y minúsculas.

EDITAR: estamos hablando del sistema operativo en la máquina del servidor MySQL, no del cliente.

De la documentación de MySQL:

los nombres de bases de datos y tablas no distinguen entre mayúsculas y minúsculas en Windows y distinguen entre mayúsculas y minúsculas en la mayoría de las variedades de Unix. Una excepción notable es Mac OS X, que está basado en Unix pero utiliza un tipo de sistema de archivos predeterminado (HFS +) que no distingue entre mayúsculas y minúsculas.

y

Los nombres de columna e índice no distinguen entre mayúsculas y minúsculas en ninguna plataforma, ni son alias de columna.

Para nombres de bases de datos y tablas, depende del sistema operativo subyacente. Ver 8.2.2. Sensibilidad de mayúsculas y minúsculas

Puede encontrar esto necesario para leer. Es posible configurar la sensibilidad de mayúsculas y minúsculas en MySQL, pero realmente es solo un problema cuando trabajas en múltiples entornos.

Curiosamente, parece ser sensible a mayúsculas y minúsculas en MySQL Workbench incluso en Windows.

Solo tratamos de alterar los resultados de una instrucción SELECT, pero Workbench no nos permitió quejarse de que nuestra consulta no incluía la clave principal de la tabla (que sí lo hizo, pero en minúsculas), por lo que el resultado fue de solo lectura. Ejecutar la misma consulta con la clave principal en el caso adecuado (ID en lugar de id) nos permitiría editar los resultados como se esperaba.