laravel 5 migration将一些主键添加到我的数据库表中。如何防止形成呢?

时间:2015-07-24 17:47:27

标签: php mysql sql laravel-5 laravel-migrations

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


    });

1 个答案:

答案 0 :(得分:1)

我认为您误读了您在PhpMyAdmin中获得的信息。您有primary字无效,无法在linkdesc列的行中点击它,您认为Laravel会为此列创建主键。

然而事实却完全不同 - 它不活跃不是因为Laravel自动创建了该字段的主键,而是因为它是文本字段而文本字段不能是主键。

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