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:
-
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.
-
Regolare tabelle o colonne specifiche
- Eliminare o modificare le tabelle interessate.
- Modificare lo schema SQL per utilizzare una collazione coerente (
utf8mb4_unicode_ci
outf8mb4_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.