Mysql
 sql >> Database >  >> RDS >> Mysql

Perché la creazione di una chiave esterna in Laravel 5.8 non riesce?

Come discusso nei commenti precedenti, una colonna di chiave esterna deve essere dello stesso tipo di dati della chiave primaria a cui fa riferimento.

Hai dichiarato il tuo user.id chiave primaria come $table->bigIncrements('id') che diventa BIGINT UNSIGNED AUTO_INCREMENT nella sintassi MySQL.

Devi dichiarare la chiave esterna come $table->unsignedBigInteger('user_id') che diventerà BIGINT UNSIGNED in MySQL, rendendolo compatibile con l'essere una chiave esterna per user.id colonna.