首页 > 解决方案 > 在 Laravel 我得到错误 errno: 150 "Foreign key constraint is wrongly forms"

问题描述

我是 Laravel 的新手,我遇到了迁移问题。

表名拼写是准确的,但我仍然得到错误。

错误状态

SQLSTATE[HY000]:一般错误:1005 无法创建表 first_db#sql-41c_2f(errno: 150 "Foreign key constraint is wrongly forms") (SQL: alter table feesadd constraint fees_academic_id_foreignforeign key ( academic_id) 引用 academics( academic_id))

错误指向以下文件:

Schema::create('fees', function (Blueprint $table) {
    $table->increments('fee_id');
    $table->integer('academic_id')->unsigned;
    $table->integer('level_id')->unsigned;
    $table->integer('fee_type_id')->unsigned;
    $table->string('fee_heading',200)->nullable;
    $table->float('amount', 8, 2);
    $table->foreign('academic_id')->references('academic_id')->on('academics');
    $table->foreign('level_id')->references('level_id')->on('levels');
    $table->foreign('fee_type_id')->references('fee_type_id')->on('feestype');
});

有什么我做错了吗?

标签: phplaravel

解决方案


unsigned 应该是一个函数:

$table->integer('academic_id')->unsigned();

推荐阅读