首页 > 解决方案 > 当 create table 语句中存在 autoIncrement、Unique key 和 Forgein key 时,Laravel 迁移失败

问题描述

如果我在同一个创建表语句中有一个 autoIncrement 列、唯一键约束和一个外键,则在运行 Laravel 迁移时,我遇到了错误。我在下面发布了一个迁移代码,但是对于所有具有这种组合的迁移,我都收到了这个错误

SQLSTATE[HY000] [2002] 连接被拒绝(SQL:alter table table_nameadd unique field_options_label_unique( label))

 Schema::create('field_options', function (Blueprint $table) {
            $table->increments('id');
            $table->string('label')->unique();
            $table->string('value');
            $table->unsignedBigInteger('parent_id')->nullable();
            $table->unsignedBigInteger('field_id');
            $table->foreign('field_id')->references('id')->on('fields')->onDelete('cascade');
            $table->timestamps();
            $table->softDeletes($column = 'deleted_at', $precision = 0);
        });

标签: laravel-migrations

解决方案


推荐阅读