laravel 执行migrate出现 1071异常
来源:互联网 发布:ios旧版软件下载 编辑:程序博客网 时间:2024/06/08 01:59
Laravel版本:Laravel5.4
博主今天在数据库迁移中遇到了个坑。先上图
执行php artisan migrate
提示#1071 Specified key was too long; max key length is 767 bytes
一开始我以为跟数据库引擎有关(InnoDB 的 key 支持 767 字节,而 MyISAM 支持 1000 字节。)
但是我尝试了 MyISAM 仍然报同样错误,只是 767 变为了 1000。
后来我在我看了数据库配置文件发现了不同之处 config/database.php
(laravel版本为5.4):
Laravel 5.3
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ],
Laravel 5.4:
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ],
发现没 laravel 5.4 开始使用 utf8mb4 数据库字符集了。这个字符集在 MySQL 5.5.3 开始支持。
utf8 和 utf8mb4 区别看这里
如是将 config/database.php
改为
'charset' => 'utf8', 'collation' => 'utf8_unicode_ci',
重新执行php artisan migrate
,success!
0 0
- laravel 执行migrate出现 1071异常
- Laravel Migrate
- Laravel中数据迁移执行php artisan migrate 报错问题
- Laravel 5.1 超级大坑 CentOS 7 文件路径大小写敏感造成的Migrate异常
- Laravel在Mac下使用php artisan migrate命令出现No such file or directory
- laravel migrate 时出现错误 [PDOException] SQLSTATE[HY000]: General error: 1215 Cannot add foreign key
- laravel 利用migrate 创建数据表
- Laravel 创建指定表 migrate
- 执行emca实用程序出现异常
- Laravel migrate时报错: Syntax error or access violation: 1071 Specified key was too long
- Laravel数据库迁移文件migrate使用约定
- Laravel 5.4 php artisan migrate 报错
- 遇见Laravel Migrations的migrate与rollback
- SQLite执行SQL出现IO异常
- 执行java程序出现异常提示
- laravel 中 使用migrate对字段的删除 修改
- php artisan migrate 执行问题(WNMP)
- Laravel框架执行流程
- 欢迎使用CSDN-markdown编辑器
- mysql 的一些报错
- GIS知识库
- 如何判断hibernate 存储数据是否成功
- 二叉树的所有路径
- laravel 执行migrate出现 1071异常
- Python异步通信模块asyncore
- 博拉科技浅谈中国企业的智能制造之路
- linux下的gedit和Vi使用命令
- 模拟抢占式优先权调度算法(C++)
- 内存对齐
- Java虚拟机监控指标及监控配置
- Git 常用命令速查
- Retrofit用法详解