0

当我按如下方式创建 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();


    });
4

1 回答 1

1

我认为您误读了在 PhpMyAdmin 中获得的信息。您有primary单词 inactive 无法在列的行中单击它,linkdesc并且您认为 Laravel 为该列创建主键。

然而事实却大不相同——它不活跃不是因为 Laravel 自动为这个字段创建了主键,而是因为它是一个文本字段并且文本字段不能是主键。

您可以在单击 PhpMyAdmin 时对其进行验证Indexes- 它应该在表格下方 - 您将看到linkdesc列上没有主键。

于 2015-07-24T18:55:27.083 回答