Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi la création de clé étrangère dans Laravel 5.8 échoue-t-elle ?

Comme nous en avons discuté dans les commentaires ci-dessus, une colonne de clé étrangère doit être du même type de données que la clé primaire à laquelle elle fait référence.

Vous avez déclaré votre user.id clé primaire sous la forme $table->bigIncrements('id') qui devient BIGINT UNSIGNED AUTO_INCREMENT dans la syntaxe MySQL.

Vous devez déclarer la clé étrangère en tant que $table->unsignedBigInteger('user_id') qui deviendra BIGINT UNSIGNED dans MySQL, ce qui le rend compatible avec le fait d'être une clé étrangère pour user.id colonne.