如何修改 Laravel 数据库字段的字符集?

17

在特定环境或许会碰到有些需要大小写区分的字符串字段,通过 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");
讨论数量: 2

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

4周前

看看啊

1周前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!