Ga naar hoofdinhoud

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:

  1. 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.

  2. 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 of utf8mb4_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.