laravel5.6 IlluminateDatabaseQueryException : SQLSTATE[42000]: Syntax error or access violatio(代码片
Posted 依然范儿特西
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel5.6 IlluminateDatabaseQueryException : SQLSTATE[42000]: Syntax error or access violatio(代码片相关的知识,希望对你有一定的参考价值。
在进行数据迁移时候报错: 特殊字段太长报错,
php artisan migrate
现在utf8mb4包括存储emojis支持。如果你运行mysql v5.7.7或者更高版本,则不需要做任何事情。
当你试着在一些MariaDB或者一些老版本的的MySQL上运行 migrations 命令时,你可能会碰到下面这个错误:
错误如下:
IlluminateDatabaseQueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
解决办法:
我们可以在 AppServiceProvider.php 文件里的 boot 方法里设置一个默认值:
文件路径: /app/providers/AppServiceProvider.php,加上绿色部分即可
<?php namespace AppProviders; use IlluminateSupportServiceProvider; use IlluminateSupportFacadesSchema; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { // Schema::defaultStringLength(191); } /** * Register any application services. * * @return void */ public function register() { // } }
以上是关于laravel5.6 IlluminateDatabaseQueryException : SQLSTATE[42000]: Syntax error or access violatio(代码片的主要内容,如果未能解决你的问题,请参考以下文章
PHP笔记-laravel环境搭建(Laravel5.8.35版本)