Yii 使用迁移创建具有主键的列

Yii 使用迁移创建具有主键的列,yii,database-migration,yii-migrations,Yii,Database Migration,Yii Migrations,我正在使用Yii中的迁移创建一个新列。我的代码工作正常,但我不确定如何设置主键 这是我的迁移文件中的一部分: public function up() { $this->addColumn( 'competition_prizes', 'prize_id', 'INT(11) UNSIGNED NOT NULL FIRST', ); $this->addPrimaryKey('PK1', 'competitio

我正在使用Yii中的迁移创建一个新列。我的代码工作正常,但我不确定如何设置主键

这是我的迁移文件中的一部分:

public function up()
{
    $this->addColumn(
        'competition_prizes',
        'prize_id',
        'INT(11) UNSIGNED NOT NULL FIRST',
    );

    $this->addPrimaryKey('PK1', 'competition_prizes', 'prize_id');
}

我不知道,如何使
竞赛\u奖品
列成为主键。

在您的
添加列
功能后添加此行

$this->addPrimaryKey('PK1', 'competition_prizes', 'prize_id')

确保您的表中没有主键列。

这正在工作-是否执行了以下操作:

$this->addColumn(
    'competition_prizes',
    'prize_id',
    'INT(11) UNSIGNED NOT NULL AUTO_INCREMENT primary key FIRST'
);

对于Yii2 2.0.6版-请查看

你也可以这样做

$this->addColumn('competition_prizes', 'prize_id', 'pk');

“pk”将转换为“int(11)NOT NULL自动增量主键”

使用构造函数。在文件的开头添加

use yii\db\Schema; 
然后添加:

$this->addColumn(
    'competition_prizes'=> Schema::TYPE_PK,
    'prize_id'=> Schema::TYPE:INTEGER,
);

我犯了一个错误——我做错了什么吗——我已经修改了上面的原始帖子。第11行的错误为:-意外“)”-这是addColumn()中带有addPrimaryKey bitI think last”的行。删除最后一个
超级棒!快到了。。。是否可以设置主键的自动增量?此时该列进入,但不会每次将主键的值增加1。请检查此url。我在projestc中使用此链接。ypu将在这里得到所有。欢呼声会给这一点一个机会为什么在一个答案被接受的几天后这一点被否决了?
$this->addColumn(
    'competition_prizes'=> Schema::TYPE_PK,
    'prize_id'=> Schema::TYPE:INTEGER,
);