我试图在同一个表中生成外键,无论我测试什么,我都会得到一个错误。
在连接中。php第647行:
SQLSTATE[HY000]:一般错误:1215无法添加外键约束(SQL:alter table
trip_tags
添加约束
trip_tags_parent_foreign
外键(
parent
)参考
恩斯
trip\u标签
(
id
)删除级联时)
在连接中。php第449行:
SQLSTATE[HY000]:一般错误:1215无法添加外键约束
这是我的密码
Schema::create('trip_tags', function (Blueprint $table) {
$table->engine = "InnoDB";
$table->uuid('uuid')->unique();
$table->integer('id')->unsigned();
$table->string('name')->nullable();
$table->integer('parent')->unsigned()->nullable();
$table->timestamps();
});
Schema::table('trip_tags', function (Blueprint $table) {
$table->foreign('parent')
->references('id')
->on('trip_tags')
->onDelete('cascade');
});
我试图将父项指向id,两者都是无符号整数,我想创建外键失败的原因是它们在某种程度上不兼容,我无法找出问题所在。
我试图将父对象指向uuid,但后来不得不将其设置为字符串,这很有效。但我必须让父点指向id,它是整数,我不能用我们的错误迁移它。