花若雨 2020-03-05 00:50 采纳率: 50%
浏览 181
已采纳

laravel外键报错,语法是正确的,求解决!

这是分类表的内容

Schema::create('classifies', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name')->comment('栏目名称');
            $table->string('introduce')->comment('栏目介绍');
            $table->integer('rank')->default('0')->comment('等级|0.顶级ID为0 1.二级ID为顶级ID');
            $table->integer('state')->default('1')->comment('状态|1.正常 2.屏蔽');
            $table->timestamps();
        });

这是文章表的内容

Schema::create('classify_notices', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('title')->comment('公告名称');
            $table->unsignedInteger('classify_id')->comment('公告所属分类');
            // $table->foreign('被约束的字段')->references('约束的字段')->on('约束的表名')->onDelete('受此约束删除');
            $table->foreign('classify_id')->references('id')->on('classifies')->onDelete('cascade');
            //nullable()可以为空
            $table->string('keyword')->nullable()->comment('关键字|SEO');
            $table->text('bewrite')->nullable()->comment('描述|SEO');
            $table->string('thumb')->comment('缩略图|image');
            $table->integer('click')->comment('查看次数|input');
            $table->mediumtext('content')->comment('内容|simditor');
            $table->tinyInteger('iscommend')->default(2)->comment('推荐|radio|1:是,2:否');
            $table->integer('state')->default('1')->comment('状态|1.正常 2.屏蔽');
            $table->timestamps();
        });

写完外键关联后,就报这个错误,语法什么的都对,问题是出在哪里呢?

SQLSTATE[HY000]: General error: 1005 Can't create table `ruijia`.`#sql-10a8_70` (errno: 150 "Foreign key constraint is incorr
ectly formed") (SQL: alter table `classify_notices` add constraint `classify_notices_classify_id_foreign` foreign key (`classify_id`) references `classifies` (`id`) on delete cascade)

感谢各位大神解答!

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-03-05 09:29
    关注

    一个是unsignedInteger,一个是bigIncrements,两个类型不同,不能关联

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?