php - Laravel:Mediable 迁移错误语法错误或访问冲突:1071 指定的 key 太长;最大 key 长度为 1000 字节

标签 php mysql laravel

我是 Laravel 的新手,尝试使用 Laravel 中介包,但它在迁移时给我一个错误 -> “[Illuminate\Database\QueryException] SQLSTATE[42000]:语法错误或访问冲突:1071 指定的键太长;最大 key 长度为 1000 字节(SQL:alter table media add unique media_disk_directory_filen ame_extension_unique(磁盘目录文件名扩展名))

[PDO异常] SQLSTATE[42000]:语法错误或访问冲突:1071 指定的键太长;最大 key 长度为 1000 字节"

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

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

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

有人可以帮忙吗?

最佳答案

您可以尝试通过更改 config/database.php 配置文件中的 engine 值来解决此问题:

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

如果您想使用此修复程序:

Schema::defaultStringLength(191);

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

关于php - Laravel:Mediable 迁移错误语法错误或访问冲突:1071 指定的 key 太长;最大 key 长度为 1000 字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47959519/

相关文章:

PHP 自动加载子文件夹

php - 这条mysql语句是低效的吗?

MySQL:选择表中的第一条记录、最后一条记录以及中间的200条均匀间隔的记录

laravel - 如何配置 nginx、vite 和 laravel 通过反向代理与 HMR 一起使用?

javascript - AJAX (jquery) 运行 PHP 脚本不工作

php - MYSQL PHP获取单个字段的平均值

c# - EntityFramework 6.1.3 和 MySQL DbFunctions.TruncateTime 不存在?

php - 在 PHP 中使用 LIKE 构建 MySQL 搜索查询

laravel - 删除模型时如何触发 Laravel (5.6) 事件?

laravel - Vue 组件未显示/更新