Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum schlägt das Erstellen von Foreign Key in Laravel 5.8 fehl?

Wie wir in den Kommentaren oben besprochen haben, muss eine Fremdschlüsselspalte denselben Datentyp haben wie der Primärschlüssel, auf den sie verweist.

Sie haben Ihre user.id angegeben Primärschlüssel als $table->bigIncrements('id') was zu BIGINT UNSIGNED AUTO_INCREMENT wird in MySQL-Syntax.

Sie müssen den Fremdschlüssel als $table->unsignedBigInteger('user_id') deklarieren was zu BIGINT UNSIGNED wird in MySQL, wodurch es kompatibel ist, ein Fremdschlüssel für die user.id zu sein Spalte.