SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
解决Laravel错误1071 Specified key was too long的多种方法
If you are using MariaDB or an older version of MySQL, you need to place this code in your AppServiceProvider.php
:
use Illuminate\Support\Facades\Schema; public function boot() { Schema::defaultStringLength(191); }
Inside config/database.php
, replace this line for mysql
'engine' => null',
with
'engine' => 'InnoDB ROW_FORMAT=DYNAMIC',
Instead of setting a limit on your string lenght.
Change database.php which is in config folder where it says
'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci',
I changed these to
'charset' => 'utf8', 'collation' => 'utf8_unicode_ci',