Comment corriger l'erreur : General error: 1215 Cannot add foreign key constraint
Parfois après avoir lancé la commande :
<code>php artisan migrate:fresh --seedcode>
tu peux avoir l'erreur suivante :
<code class="blockquote-line">Illuminate\Database\QueryException : SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table <code class="code codeInline">objectivescode> add constraint <code class="code codeInline">objectives_user_id_foreigncode> foreign key (<code class="code codeInline">user_idcode>) references <code class="code codeInline">userscode> (<code class="code codeInline">idcode>) on delete cascade)
Exception trace:
1 PDOException:"SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint")code>
Une des solutions peut être que le type de données choisi entre le champ 'id' de la table concernée et l'id de la table référencée :
bigInteger versus Integer :
<code>$table->bigIncrements('id');
$table->integer('user_id')->unsigned();code>
Tu peux corriger le code ci-dessus en le remplaçant par celui-ci :
<code>$table->bigIncrements('id');
$table->bigInteger('user_id')->unsigned();code>
Il ne reste plus alors qu'à relancer la commande artisan :
<code>php artisan migrate:fresh --seedcode>
Et cela devrait fonctionner !
N'oublie pas de bien ajouter unsigned() ! Sans cela l'erreur persistera...<code>code>
Fichiers attachés ::