PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes") laravel 8
// Update your /app/Providers/AppServiceProvider.php to contain:useIlluminateSupportFacadesSchema;publicfunctionboot(){Schema::defaultStringLength(191);}//ON this error // PDOException::("SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists")// After run -> php artisan migrate:fresh <- ! Note this will reset all tables in db
Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table
Path : App/Providers/AppServiceProvider
Schema::defaultStringLength(191);
in AppServiceProvider didn't work for me. What worked for was editing the database.php file in config folder. Just edit
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
to
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',and it should work, although you will be unable to store extended multibyte characters like emoji.
Syntax error or access violation: 1071 Specified key was too long;
// Para resolver isso siga os passos abaixo:// Edite o arquivo appProvidersAppServiceProvider.php// Adicione o namespace use IlluminateSupportFacadesSchema;// Dentro do método boot adicione Schema::defaultStringLength(191);// Resultado final do arquivo:useIlluminateSupportFacadesSchema;publicfunctionboot(){Schema::defaultStringLength(191);}
violation: 1071 Specified key was too long; max key length is 1000 bytes
Inside config/database.php, replace this line for mysql
Copy Code
'engine'=>null',
with
Copy Code
'engine' => 'InnoDB ROW_FORMAT=DYNAMIC',
Instead of setting a limit on your string lenght.
Syntax error or access violation: 1071 Specified key was too long; max key length
According to the official Laravel 7.x documentation, you can solve this quite easily.
Update your /app/Providers/AppServiceProvider.php to contain:useIlluminateSupportFacadesSchema;/**
* Bootstrap any application services.
*
* @returnvoid
*/publicfunctionboot(){Schema::defaultStringLength(191);