运行迁移命令时出现以下错误
这些是我的桌子SQLSTATE [HY000]:常规错误:1005无法创建表
plt.title()
。test
(错误号:150“外键约束我 s错误形成“)(SQL:alter table#sql-644_119
添加约束show_packages
外来 密钥(show_packages_package_id_foreign
)引用package_id
(rent_package_no
))
我该如何解决?
答案 0 :(得分:2)
迁移订单问题在这里 确保在运行此迁移之前创建了外部表(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');
});
答案 1 :(得分:0)
检查迁移的顺序。如果您的migrate命令试图在rent_package_no
表之前创建show_packages
表,那么MySQL将会出现这种情况。它似乎按照日期顺序排列,从最旧到最新。换句话说,它试图引用的表上的cat_id应该存在。