Når du kører en forespørgsel mod en MySQL-database, bruger MySQL en masse systemvariabler til at bestemme, hvilket tegnsæt og sortering, der skal bruges, når der køres forespørgsler. Hvis klienten bruger et andet tegnsæt end serveren, kan MySQL oversætte det til et passende tegnsæt og sortering.
Når forespørgselsresultaterne sendes tilbage til klienten, kan MySQL om nødvendigt oversætte disse resultater tilbage til et helt andet tegnsæt. MySQL bruger systemvariabler til at bestemme, hvilke tegnsæt og kollationer der skal bruges ved hvert af disse trin.
Følgende fremhæver forbindelsessorteringen:
SELECT @@collation_connection;
Eksempelresultat:
+------------------------+ | @@collation_connection | +------------------------+ | utf8mb4_0900_ai_ci | +------------------------+
Ved brug af SHOW VARIABLES
Erklæring
En anden måde at hente collation_connection
systemvariablen er at bruge SHOW VARIABLES
sætning for at returnere forskellige sorteringsrelaterede systemvariabler. Den nemmeste måde at gøre dette på er at bruge LIKE
klausul for at indsnævre det til kun variabler, der begynder med collation
. Sådan:
SHOW VARIABLES LIKE 'collation%';
Dette returnerer sorteringen for serveren, forbindelsen og databasen. Sådan:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_0900_ai_ci | | collation_database | utf8_general_ci | | collation_server | utf8mb4_0900_ai_ci | +----------------------+--------------------+
Du kan også returnere alle tegnsætsystemvariabler med følgende forespørgsel:
SHOW VARIABLES LIKE 'character_set%';
Eksempelresultat:
+--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/charsets/ | +--------------------------+----------------------------------+
Se også:
- Sådan finder du sorteringen i MySQL
- Vis sorteringen af serveren
- Vis samlingen af en database
- Vis samlingen af en tabel
- Vis samlingen af en kolonne
- Hvad er indsamling?