Laravel's Eloquent:绕过191个字符VARCHAR限制

时间:2018-05-04 09:34:54

标签: laravel eloquent varchar

this personthis personthis person所示,为了避免

  

SQLSTATE [42000]:语法错误或访问冲突:1071指定密钥太长;最大密钥长度为767字节

您必须修改Laravel项目的AppServiceProvider.php

<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;              //add this

class AppServiceProvider extends ServiceProvider {
    public function boot() {
        Schema::defaultStringLength(191);           //and this
    }

    public function register() { }
}

但是这种方法的缺点是我使用的VARCHAR限制为191个字符,我希望有一个比这更长的字段。我该怎么办?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

实际上,在您的迁移文件中,您可以定义大小。实施例

$table->string('field_name', 200);

答案 1 :(得分:1)