无法使用外键添加新列

时间:2019-08-17 08:12:24

标签: laravel

在向现有表中添加新列时,我是laravel的新手,但出现上述错误:

  

SQLSTATE [23000]:违反完整性约束:1452无法添加或   更新子行:外键约束失败   ({schoolmanagement#sql-314_2c,约束   students_parentsid_foreign外键(parentsid)参考   parent_namesid)删除级联(SQL:更改表students   添加约束students_parentsid_foreign外键(parentsid)   在删除级联上引用parent_namesid

    public function up(){
        Schema::table('students', function (Blueprint $table)
        {
            $table->unsignedBigInteger('parentsid')->after('id');
            $table->foreign('parentsid')->references('id')->on('parent_names')->onDelete('cascade');
        });
    }


    public function down()
    {
        Schema::table('students', function (Blueprint $table) {
            //
        });
    }

只需为带有外键的现有表插入一列

1 个答案:

答案 0 :(得分:1)

这是因为您试图创建一个具有外键约束但未设置默认值的新列。因此,您可以将其设置为linear或设置默认值(该值必须是nullable表中的现有ID)

parent_names