SQLSTATE[42000]: Syntax error or access violation (Laravel) | Communauté letecode
Suivez nous
Emery
@emeryntumba39
0 0 2
1

SQLSTATE[42000]: Syntax error or access violation (Laravel)

@emeryntumba39 Publiée il y a 1 mois 1 1 90 Laravel Résolu

Salut les dev, j'ai un soucis. Depuis un moment je travaille avec Laravel sous windows, le problème c'est qu'au moment de la migration j'obtiens cette erreur: 

SQLSTATE[42000]: Syntax error or access violation: 1071 La clé est trop longue. Longueur maximale: 1000 (SQL: alter table `users` add unique `users_email_unique`(`email`))


Qu'est-ce que ça peut bien être ?   

1 vote
Phpmyadmin Php Laravel 8

1 Réponse(s)
Jean Claude Mbiya
@johnmbiya
7 7 24
2
@johnmbiya a répondu il y a 1 mois répondu il y a 1 mois 1 bonne réponse

Cette erreur survient suite à une incompatilité de la database engine

Pour résoudre ce problème : 

- commencer par verifier votre base de données et vider tout les contenus.
- se rendre dans le fichier config/database.php  et modifier la ligne 60 (laravel 8) 
"engine" => "InnoDB",
- et reprendre la migration avec php artisan migrate

Ta connexion mysql dans config/database.php doit être comme suit : 

 'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => 'InnoDB',
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],
 


@emeryx 28 Nov 2021 13:26

Merci beaucoup, ça marche !

Répondre à cette question