Illegale mix van collaties
❌ Fout
Illegale mix van collaties (utf8mb4_general_ci,IMPLICIT) en (utf8mb4_unicode_ci,IMPLICIT) voor operatie '='
📍 Context
Deze fout doet zich voor wanneer MySQL probeert twee strings te vergelijken die verschillende collaties gebruiken (bijvoorbeeld, utf8mb4_general_ci
vs. utf8mb4_unicode_ci
). Dit gebeurt vaak in FiveM-scripts wanneer queries betrekking hebben op spelerdata (bijv. kentekens, namen, identificatoren) die zijn opgeslagen met inconsistente collaties.
✅ Oplossing
Er zijn twee manieren om dit op te lossen:
-
Unificeer de collatie van de gehele database (aanbevolen)
ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Dit zorgt ervoor dat alle tabellen en queries dezelfde collatie gebruiken.
-
Pas specifieke tabellen of kolommen aan
- Verwijder of wijzig de aangetaste tabellen.
- Wijzig het SQL-schema om een consistente collatie te gebruiken (
utf8mb4_unicode_ci
ofutf8mb4_general_ci
). - Maak de data opnieuw aan of migreer deze.
ℹ️ Aanvullende Informatie
- Maak altijd een back-up van uw database voordat u structurele wijzigingen aanbrengt.
- Het gebruik van utf8mb4_unicode_ci heeft over het algemeen de voorkeur, omdat het betere Unicode-ondersteuning biedt.
- Het mixen van collaties tussen tabellen kan leiden tot onvoorspelbare query-fouten.
- Voor meer details over MySQL-collaties, raadpleeg de MySQL-documentatie.