首頁 > 資料庫 > mysql教程 > Laravel 5.4 遷移錯誤:如何修復「指定金鑰太長」?

Laravel 5.4 遷移錯誤:如何修復「指定金鑰太長」?

Barbara Streisand
發布: 2024-12-18 21:39:11
原創
816 人瀏覽過

Laravel 5.4 Migration Error: How to Fix

Laravel 遷移錯誤:「指定的密鑰太長」

遇到的問題:

嘗試使用make時:Laravel 5.4 中的auth指令,資料庫遷移錯誤出現:

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

解決方案:

要解決使用預設MySQL InnoDB 引擎時常遇到的問題,有兩種方法:

AppServiceProvider方法:

  1. 開啟app/Providers/AppServiceProvider.php。
  2. 在boot方法中加入以下程式碼:
use Illuminate\Support\Facades\Schema;

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Schema::defaultStringLength(191);
}
登入後複製

MySQL 伺服器設定:

或,您可以修改MySQL 配置以啟用innodb_large_prefix 選項。啟用此選項的具體說明會根據您的資料庫設定而有所不同。請參閱 MySQL 文件以取得指導。

附加說明:

  • 提供的解決方案特定於 Laravel 5.4。其他版本,請參閱相關文件。
  • defaultStringLength(191) 方法將所有資料庫列的預設最大字串長度設為 191 個字元。
  • innodb_large_prefix 選項允許 MySQL 使用更大的索引前綴,解決金鑰長度限制。

以上是Laravel 5.4 遷移錯誤:如何修復「指定金鑰太長」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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