
Cómo solucionar el error "Specified key was too long error" en Laravel
Jorge García
Comparte:
Última actualización
Comparte:
Si estás buscando una solución para este error:
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Podemos solucionarlo de 3 formas:
- Actualizar la versión de MySQL
- Modificar el archivo
config/database - Modificar el archivo
app/Providers/AppServiceProvider.php
Solución 1
Si utilizas MariaDB o versiones anteriores de MySQL v5.7.7 simplemente actualiza a la versión estable más reciente y no volverás a tener este problema.
Solución 2
Si no puedes o no quieres actualizar MySQL, intenta modificando el engine de mysql en el archivo
config/database.php'mysql' => [
...
'engine' => 'InnoDB',
]
Solución 3
Si por algún motivo no te funciona la solución 2, agrega la siguiente línea al archivo
app/Providers/AppServiceProvider.phpuse Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
¿Por qué ocurre este error?
Desde la versión 5.4 de Laravel se realizó un cambio en el conjunto de caracteres predeterminado de la base de datos, y ahora es utf8mb4, que incluye soporte para almacenar emojis.
Esto solo afecta a las aplicaciones que utilicen versiones anteriores a MySQL v5.7.7
Esto solo afecta a las aplicaciones que utilicen versiones anteriores a MySQL v5.7.7
Gustavo Camilo (260 xp)
Mil gracias, usando la solución 2 pude resolverlo
Agustín Nahuel Parada (16 xp)
gracias genio!
Tiza (204 xp)
Gracias! Y esta estupendo que por fin alguien me de una explicación de qué y por qué. Un saludo!
javier sanchez (16 xp)
Muchísimas gracias por compartir. Estar empezando y que te salten errores de este tipo es muy desalentador. Nuevo fan tienes.
XMedia Software (xmediasoftware) (16 xp)
Me sirvio la opcion No. 3, muchas gracias
Freddy Arriaga Cruz (16 xp)
Gracias, ni chat GPT fue tan preciso
Sergio Vega (16 xp)
Gracias, buena ayuda rapida 👍😁
Artículos relacionados
Laravel
Laravel 13: Novedades, Requisitos y Guía de Actualización
Todo lo que necesitas saber sobre Laravel 13: nuevas características (Atributos PHP), requisitos mín...Leer más
Jorge García (3062 xp)
Laravel
Traduce tu aplicación Laravel al español con Laravel Lang (2025)
Aprende a traducir tu aplicación Laravel 12 al español en solo 3 pasos con Laravel Lang. Guía rápida...Leer más
Jorge García (3062 xp)
Laravel
Guía Completa de Cursos Laravel 2025: Desde Principiante hasta Experto
Descubre la ruta de aprendizaje completa para dominar Laravel en 2025. Más de 30 cursos especializad...Leer más
Jorge García (3062 xp)
Laravel
Laravel 12: Novedades y Todo lo que Necesitas Saber
Laravel 12 ha llegado con mejoras en rendimiento, nuevos Starter Kits para React, Vue y Livewire, co...Leer más
Jorge García (3062 xp)

