[Осветить \ База данных \ QueryException] SQLSTATE [42000]: синтаксическая ошибка
или нарушение прав доступа: 1071 Указан слишком длинный ключ; максимальная длина ключа
1000 байт (SQL: изменить таблицуtranslations
добавить уникальный
translations_table_name_column_name_foreign_key_locale_unique
(table_
,
namecolumn_name
,foreign_key
,locale
)) [Учение \ DBAL \ Driver \ PDOException] SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1071 Указанный ключ был слишком длинным; максимальная длина ключа 1000 байтов [PDOException] SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1071 Указанный ключ был слишком длинным; максимальная длина ключа 1000 байтов
AppServiceProvider.php
этот способ не сработал, я не могу исправить эту ошибку каким-либо образом исправить это?
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::`defaultStringLength`(191);
}
+ Изменить
use Illuminate\Support\Facades\Schema;
в
use Schema;
Это происходит со мной, когда я пытался установить Voyager. После нескольких копаний я нашел эти два ответа, которые работают.
Решение 01
* /config/database.php *
'mysql' => [
...,
...,
'engine' => 'InnoDB',
]
Решение 02
редактирование файла database.php в папке config. (тот же файл, что и в предыдущем ответе). Просто отредактируйте,
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
в
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
Я нашел это из Ошибка миграции Laravel: синтаксическая ошибка или нарушение прав доступа: 1071 Указанный ключ слишком длинный; максимальная длина ключа 767 байт выпускать ответы. Таким образом, весь кредит должен идти на @dexterb и @Koushik Das