laravel 5 迁移将一些主键添加到我的数据库 table。如何预防形成呢?

laravel 5 migration add some primary keys to my database table. how to prevent form it?

当我按如下方式创建 Laravel5 迁移时,它会添加 "linkdesc" 列作为主键。当我阅读 laravel5 迁移的文档时,它没有提到 $table->text('description'); 这给出了数据库中的主键。 有什么办法可以防止在 laravel5 中自动添加主键? 还有其他迁移功能会提供这种不需要的主键吗?

我的迁移如下

Schema::create('articles', function (Blueprint $table) {

        $table->primary(['pemail', 'linkid']);
        $table->bigInteger('linkid');
        $table->string('pemail');
        $table->string('linkname');
        $table->string('linkurl');
        $table->integer('linorder');
        $table->text('linkdesc')->nullable();


    });

我认为您误读了在 PhpMyAdmin 中获得的信息。您有 primary 个词处于非活动状态,无法在 linkdesc 列的行中单击它,并且您认为 Laravel 为此列创建了主键。

然而事实却大不相同 - 它处于非活动状态不是因为 Laravel 自动为此字段创建了主键,而是因为它是一个文本字段,文本字段不能作为主键。

您可以在 Indexes 上单击 PhpMyAdmin 时验证它 - 它应该在 table 下方 - 您会看到 linkdesc 列上没有主键。