Red de conocimiento informático - Aprendizaje de programación - MySQL English no distingue entre mayúsculas y minúsculas

MySQL English no distingue entre mayúsculas y minúsculas

A través del comando mostrar conjunto de caracteres, puede ver la clasificación

. Esta configuración está relacionada con el problema de "insensibilidad entre mayúsculas y minúsculas de caracteres en inglés" en MySQL.

::: tip

A través del comando show collation, puede ver toda la intercalación admitida por MySQL.

:::

Aquí _ci se refiere a mayúsculas y minúsculas, es decir, "no distingue entre mayúsculas y minúsculas". a y A serán tratados como iguales en el juicio de carácter.

Por ejemplo, si ejecuta seleccionar * del departamento donde nombre = 'pruebas', pueden aparecer las siguientes dos líneas de datos:

La solución temporal es utilizar la palabra clave binaria en la declaración de consulta La palabra clave binaria se puede agregar en dos lugares (con el mismo efecto):

Binario significa: comparación basada en los datos binarios de la cadena, por lo que el resultado de la comparación naturalmente distingue entre mayúsculas y minúsculas.

Al especificar Charset (utf8 o utf8mb4), especifique también la intercalación utilizada con él.

Puedes ver la intercalación correspondiente a utf8 y utf8mb4 usando el comando show collation where Charset = '...'. Sin embargo, es una lástima que exista _ci, pero no exista _cs

Sin embargo, existen utf8_bin y utf8mb4_bin.

Puedes utilizarlos al crear una base de datos, una tabla o una declaración de columna. Por ejemplo: