Laravel 无法使用外键添加新列

Laravel 无法使用外键添加新列,laravel,Laravel,我是laravel新手,在现有表中添加新列时,我遇到了上述错误: SQLSTATE[23000]:完整性约束冲突:1452无法添加或 更新子行:外键约束失败 (学校管理#sql-314_2c,约束 students\u parentsid\u foreign外键(parentsid)引用 DELETE CASCADE上的家长姓名(id)(SQL:alter tablestudents 添加约束students\u parentsid\u foreign外键(parentsid) 在删除级联上引用

我是laravel新手,在现有表中添加新列时,我遇到了上述错误:

SQLSTATE[23000]:完整性约束冲突:1452无法添加或 更新子行:外键约束失败 (
学校管理
#sql-314_2c
,约束
students\u parentsid\u foreign
外键(
parentsid
)引用
DELETE CASCADE上的家长姓名(
id
)(SQL:alter table
students
添加约束
students\u parentsid\u foreign
外键(
parentsid
) 在删除级联上引用父项名称(
id


只需使用外键为现有表插入一列,这是因为您试图使用外键约束创建一个新列,但没有设置默认值。因此,您可以将其设置为
可空
或设置默认值(必须是
父项名称
表中存在的ID)


或者,您可以添加不带约束的列,然后更新数据,以便在添加时满足所有记录的约束。
    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) {
            //
        });
    }
$table->unsignedBigInteger('parentsid')->default(1);