运行迁移命令时出现以下错误
SQLSTATE[HY000]: General error: 1005 Can't create table
test
.#sql-644_119
(errno: 150 "Foreign key constraint i s incorrectly formed") (SQL: alter tableshow_packages
add constraintshow_packages_package_id_foreign
foreign key (package_id
) referencesrent_package_no
(id
))
如何修复它?
最佳答案
迁移顺序问题在这里 确保在运行此迁移之前创建外部表(rent_package_no 和rent_lend_categories)
尝试使用以下代码:
Schema::create('show_packages', function(Blueprint $table) {
$table - > increments('id');
$table - > integer('pack_id') - > unsigned();
$table - > integer('cat_id') - > unsigned();
$table - > timestamps();
$table - > foreign('pack_id') - > references('id') - > on('rent_package_no')->onUpdate('cascade')->onDelete('cascade');
$table - > foreign('cat_id') - > references('id') - > on('rent_lend_categories')->onUpdate('cascade')->onDelete('cascade');
});
关于mysql - 由于外键失败,无法使用迁移在 Laravel 5.5 中创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48639627/