首頁 > 資料庫 > mysql教程 > Laravel 遷移錯誤:如何修復「唯一密鑰長度超出限制」?

Laravel 遷移錯誤:如何修復「唯一密鑰長度超出限制」?

Susan Sarandon
發布: 2024-12-05 17:52:11
原創
893 人瀏覽過

Laravel Migration Error: How to Fix

Laravel 遷移錯誤:唯一金鑰長度超出限制

當嘗試使用遷移來遷移Laravel 中的使用者表時,開發人員可能會遇到錯誤:「[SQLSTATE[42000]:語法錯誤或存取衝突:1071指定的鍵是太長;最大密鑰長度為 767 位元組。

問題陳述

提供的遷移嘗試使用唯一鍵建立使用者表在電子郵件欄上。但是,email 列的長度被指定為 320 個字符,超出了最大長度限制。

1。減少電子郵件列長度

將電子郵件列的長度減少到較小的值,例如 250 或預設的 191 個字元。依下列方式調整遷移:

Schema::create('users', function(Blueprint $table)
{
    // ...

    $table->string('email', 250); // Update the email column length

    // ...
});
登入後複製

2.設定預設字串長度(Laravel 5.4 )

如果您使用Laravel 5.4 或更高版本,您可以在AppServiceProvider.php 檔案的boot 方法中設定預設字串長度:

public function boot()
{
    Builder::defaultStringLength(191);
}
登入後複製

這將為遷移中建立的所有字串列設定預設長度 191 個字符,確保唯一鍵不超過允許的長度長度。

以上是Laravel 遷移錯誤:如何修復「唯一密鑰長度超出限制」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板