Mezcla ilegal de intercalaciones
❌ Error
Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '='
📍 Contexto
Este error ocurre cuando MySQL intenta comparar dos cadenas que utilizan diferentes intercalaciones (por ejemplo, utf8mb4_general_ci
vs. utf8mb4_unicode_ci
). A menudo sucede en scripts de FiveM cuando las consultas involucran datos de jugadores (por ejemplo, matrículas, nombres, identificadores) almacenados con intercalaciones inconsistentes.
✅ Solución
Hay dos formas de solucionar esto:
-
Unificar la intercalación de toda la base de datos (recomendado)
ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Esto asegura que todas las tablas y consultas utilicen la misma intercalación.
-
Ajustar tablas o columnas específicas
- Eliminar o modificar las tablas afectadas.
- Modificar el esquema SQL para usar una intercalación consistente (
utf8mb4_unicode_ci
outf8mb4_general_ci
). - Recrear o migrar los datos.
ℹ️ Información Adicional
- Siempre haz una copia de seguridad de tu base de datos antes de aplicar cambios estructurales.
- Usar utf8mb4_unicode_ci es generalmente preferido, ya que proporciona un mejor soporte para Unicode.
- Mezclar intercalaciones entre tablas puede llevar a errores de consulta impredecibles.
- Para más detalles sobre las intercalaciones de MySQL, consulta la documentación de MySQL.