Passa al contenuto principale

Mix illegale di collazioni

❌ Errore

Mix illegale di collazioni (utf8mb4_general_ci,IMPLICIT) e (utf8mb4_unicode_ci,IMPLICIT) per l'operazione '='

📍 Contesto

Questo errore si verifica quando MySQL cerca di confrontare due stringhe che utilizzano collazioni diverse (ad esempio, utf8mb4_general_ci vs. utf8mb4_unicode_ci). Si verifica spesso negli script FiveM quando le query coinvolgono dati dei giocatori (ad es. targhe, nomi, identificatori) memorizzati con collazioni incoerenti.

✅ Soluzione

Ci sono due modi per risolvere questo problema:

  1. Unificare la collazione dell'intero database (consigliato)

     ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

    Questo assicura che tutte le tabelle e le query utilizzino la stessa collazione.

  2. Regolare tabelle o colonne specifiche

    • Eliminare o modificare le tabelle interessate.
    • Modificare lo schema SQL per utilizzare una collazione coerente (utf8mb4_unicode_ci o utf8mb4_general_ci).
    • Ricreare o migrare i dati.

ℹ️ Informazioni aggiuntive

  • Esegui sempre il backup del tuo database prima di applicare modifiche strutturali.
  • Utilizzare utf8mb4_unicode_ci è generalmente preferito, poiché offre un migliore supporto per Unicode.
  • Mescolare collazioni tra tabelle può portare a errori di query imprevedibili.
  • Per ulteriori dettagli sulle collazioni MySQL, fai riferimento alla documentazione MySQL.