在向现有表中添加新列时,我是laravel的新手,但出现上述错误:
SQLSTATE [23000]:违反完整性约束:1452无法添加或 更新子行:外键约束失败 ({
schoolmanagement
。#sql-314_2c
,约束students_parentsid_foreign
外键(parentsid
)参考parent_names
(id
)删除级联(SQL:更改表students
添加约束students_parentsid_foreign
外键(parentsid
) 在删除级联上引用parent_names
(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) {
//
});
}
只需为带有外键的现有表插入一列
答案 0 :(得分:1)
这是因为您试图创建一个具有外键约束但未设置默认值的新列。因此,您可以将其设置为linear
或设置默认值(该值必须是nullable
表中的现有ID)
parent_names