執行遷移檔案報錯 1071 Specified key was too long.

czd1947發表於2020-10-24

百科:說的是編碼格式不正確會報錯,框架預設使用utf8mb4編碼, 網上的解決方法是: 在app/Providers/AppServiceProviders.php 的boot方法中新增如下程式碼:

執行遷移檔案報錯 1071 Specified key was too long; max key length is 1000 bytes

給大家看一下我的遷移檔案:

執行遷移檔案報錯 1071 Specified key was too long; max key length is 1000 bytes

看一下我連線的資料編碼:

執行遷移檔案報錯 1071 Specified key was too long; max key length is 1000 bytes

我的資料庫配置檔案:
執行遷移檔案報錯 1071 Specified key was too long; max key length is 1000 bytes

問題 : 我在我的遷移檔案中增加了一個組合索引的方法:
$table->index([‘name’, ‘email’]); 執行遷移 報錯1071 Specified key was too long; … ; 也就是網路上的直接在AppServiceProvider.php 的boot方法中新增的 Schema::defaultStringLength(191); 是無法解決報長度問題的。

以下是我執行檔案報的錯:

執行遷移檔案報錯 1071 Specified key was too long.

目前解決方法我還未找到。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章