国内外VPS
主机测评与优惠

Laravel:SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length

laravel 5.4 版本改变默认的数据库字符集为utf8mb4。如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情。

否则你在运行 migrations 命令时,可能会碰到下面这个错误:

  [IlluminateDatabaseQueryException]  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes  
  我们可以在 appProvidersAppServiceProvider.php 文件里中的 boot 方法里设置一个默认值来解决这个错误:
  Schema::defaultStringLength(200);

完整的AppServerProvider.php文件代码如下:

  

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Laravel:SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length》
文章链接:https://www.liuzhanwu.com/3215.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

登录

找回密码

注册