Rumah > Artikel > pembangunan bahagian belakang > Mengapa Saya Mendapat Ralat \"Kunci Unik Terlalu Panjang\" Semasa Migrasi Laravel?
Menyelesaikan Masalah Ralat Migrasi Laravel: "Kunci Unik Terlalu Panjang"
Semasa cuba memindahkan jadual pengguna dalam Laravel, anda mungkin menghadapi ralat: "[IlluminateDatabaseQueryException] ... Kunci yang ditentukan terlalu panjang; panjang kunci maks ialah 767 bait." Ralat ini timbul apabila kunci unik yang anda tentukan melebihi panjang maksimum yang dibenarkan.
Memahami Isu
Panjang rentetan lalai dalam Laravel untuk lajur seperti e-mel ialah 255 watak. Apabila anda cuba mencipta kunci unik pada lajur dengan panjang rentetan yang lebih panjang (dalam kes ini, 320 aksara untuk lajur e-mel), penghijrahan gagal.
Membetulkan Ralat
<code class="php">$table->string('email', 250);</code>
<code class="php">$table->string('email');</code>
Dalam fail AppServiceProvider.php, dalam kaedah but, tetapkan panjang rentetan lalai untuk semua migrasi:
<code class="php">use Illuminate\Database\Schema\Builder; public function boot() { Builder::defaultStringLength(191); }</code>
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \"Kunci Unik Terlalu Panjang\" Semasa Migrasi Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!