解决Laravel错误1071 Specified key was too long的多种方法

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’,

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注