2016-08-18 57 views
5

我在Yii2中進行了遷移,我嘗試創建表。我爲表格設置字符集,但我不知道如何爲特定列設置字符集。如何在Yii2的遷移中將字符集設置爲特定列

例如:

$this->createTable('some_table', [ 
      'column_1' => $this->string(64)->notNull(), 
      'column_2' => $this->integer()->notNull(), 
      'column_3' => $this->integer(), 
     ], 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'); 

在上述代碼中,我要設置的字符集 「UTF8-Unicode的CI」 爲COLUMN_1。 如何做到這一點?

回答

4

使用append()。

$this->createTable('some_table', [ 
    'column_1' => $this->string(64)->notNull()->append('CHARACTER SET utf8 COLLATE utf8_unicode_ci'), 
    'column_2' => $this->integer()->notNull(), 
    'column_3' => $this->integer(), 
], 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'); 

這僅僅是一個例子嗎?因爲您不必爲單個列設置字符集,因爲它與整個表相同。

相關問題