首页 文章

Laravel:Mediable migration error语法错误或访问冲突:1071指定密钥太长;最大密钥长度为1000字节

提问于
浏览
1

我是Laravel的新手,试图使用Laravel可用包但它在迁移时给我一个错误 - >“[Illuminate \ Database \ QueryException] SQLSTATE [42000]:语法错误或访问冲突:1071指定密钥太长;最大密钥长度是1000字节(SQL:alter table media add unique media_disk_directory_filen ame_extension_uniquediskdirectoryfilenameextension ))

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

我在Laravel 5.4.36上,其他网站上的解决方案是添加这个 - >

public function boot()
    {
        //
        Schema::defaultStringLength(191);
    }

但我已经在我的项目中有这个 .

任何人都可以帮忙吗?

2 回答

  • 0

    这项工作对我来说,在内部config / database.php我将'engine'=> null'替换为:engine'=>'InnoDB ROW_FORMAT = DYNAMIC',

    这个解决方案而不是设置字符串长度的限制 .

  • 1

    您可以尝试通过 config/database.php 配置文件中的canging engine 值来修复此问题:

    'engine' => 'InnoDB ROW_FORMAT=DYNAMIC',
    

    如果要使用此修复程序:

    Schema::defaultStringLength(191);
    

    确保您已在 config/app.php 注册此服务提供商

相关问题