Mengatasi Error "SQLSTATE[42000]: Syntax error or access violation: 1071" di Laravel Framework PHP


Assalamualaikum Wr.Wb...
dengan diberikan nikmat dan rezeki dari Allah SWT, disini saya Mr.GagalTotal666
akan sedikit berbagi bagaimana cara mengatasi error

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

di laravel Framework PHP.

mungkin anda sedikit kesal saat memulai perintah migrate
ternyata table yang kita migrate itu tidak bisa ke dalam database
yang sudah kita buat dan muncul error seperti contoh di atas
untuk mengatasi nya gampang dan mudah, tidak susah
baiklah ikuti langkah berikut

pertama anda pergi ke directory "Config" dan cari file "database.php"
buka file "Database.php" kemudian anda edit file tersebut di bagian mysql

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],


hapus di bagian "utf8mb4" -> menjadi "utf8" dan
"utf8mb4_unicode_ci" -> menjadi "utf8_unicode_ci"
dan ubah seperti ini

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],


setelah anda ubah kemudian save file tersebut

jika cara pertama yang saya kasih masih tidak bisa,
ada cara ke dua baiklah ikuti langkah berikut

buka folder di bagian "App" klik folder
atau directory "Providers" cari file "AppServiceProvider.php"
dan edit file tersebut di bagian "public function boot()"

    public function boot()
    {
        //
    }


masukan kode "Schema::defaultStringLength(191);", seperti ini

public function boot()
    {
        Schema::defaultStringLength(191);
    }

dan jangan lupa menambahkan kode

$ use Illuminate\Support\Facades\Schema;


setelah anda ubah kemudian save,
jika sudah di save coba lakukan migrate kembali

$ php artisan migrate


mungkin itu saja mengenai error saat migrate
di framework PHP yaitu laravel,
sekian dan semoga bermanfaat bagi anda semua .....

Wassalamualaikum Wr.Wb...

Post a Comment

0 Comments