Laravel 数据库:修改字段字符集 0 个改进

在特定环境或许会碰到有些需要大小写区分的字符串字段,通过 Schema 生成的表默认是 utf8_unicode_ci,ci 是 Case Insensitive 的意思,所以 *_ci 结尾的都不区分大小写。我们可以在迁移中利用 Schema 来修改字符集。

修改字段:

Schema::create('codes', function (Blueprint $table) {
{
    // ......
    $table->string('key')->unique()->charset('utf8')->collation('utf8_bin');
    // ......
});

或者修改表:

Schema::create('codes', function (Blueprint $table) {
    $table->charset = 'utf8';
    $table->collation = 'utf8_bin';
    // ......

});

原生语句:

DB::statement("ALTER TABLE codes CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin");
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 2

vue的教程呢 ????????????????????

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!