当我按如下方式创建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();
});
答案 0 :(得分:1)
我认为您误读了您在PhpMyAdmin中获得的信息。您有primary
字无效,无法在linkdesc
列的行中点击它,您认为Laravel会为此列创建主键。
然而事实却完全不同 - 它不活跃不是因为Laravel自动创建了该字段的主键,而是因为它是文本字段而文本字段不能是主键。
您可以在Indexes
点击PhpMyAdmin时验证它 - 它应该在表格下方 - 您会看到linkdesc
列上没有主键。