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

问题描述 投票:1回答:2

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

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

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

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

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

任何人都可以帮忙吗?

php mysql laravel
2个回答
1
投票

您可以尝试通过更改qazxsw poi配置文件中的qazxsw poi值来解决此问题:

engine

如果要使用此修复程序:

config/database.php

请确保您已在'engine' => 'InnoDB ROW_FORMAT=DYNAMIC', 注册此服务提供商


0
投票

这项工作与我,在内部config / database.php我用'engine'=>'InnoDB ROW_FORMAT = DYNAMIC'替换这个'engine'=> null',

此解决方案而不是设置字符串长度的限制。

© www.soinside.com 2019 - 2024. All rights reserved.