mysql - 由于外键失败,无法使用迁移在 Laravel 5.5 中创建表

标签 mysql laravel

运行迁移命令时出现以下错误

SQLSTATE[HY000]: General error: 1005 Can't create table test.#sql-644_119 (errno: 150 "Foreign key constraint i s incorrectly formed") (SQL: alter table show_packages add constraint show_packages_package_id_foreign foreign key (package_id) references rent_package_no (id))

这些是我的 table enter image description here

如何修复它?

最佳答案

迁移顺序问题在这里 确保在运行此迁移之前创建外部表(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/

相关文章:

mysql - 当某些状态发生变化时,如何从日志表中获取时间戳?

java - 我的数据库在 netbeans 上构建的 jsp 页面上连接不简单

laravel - OAuth 2 身份验证中 grant_type 参数的用途是什么

php - Laravel 将数据从一个表移动到另一个表并删除数据来自的列?

php - Laravel 查询 - Join 和 GroupBy

ios - 通过外键 (API) 保存/检索数据

java - Hibernate Persistencebag 从列表中删除元素

php - 通过 laravel 框架集成现有项目?

laravel - 自动刷新所有表单的CSRF Token

php - 在php中指定时间后强制注销