Laravel - 常見問題: Syntax error or access violation
Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
在Laravel5.4之後,下
migrate
指令的時候會發生這個錯誤,因為Laravel 5.4對默認數據庫字符集進行了更改,
現在
utf8mb4
它包含了對存儲表情符號的支持。由於
utf8mb4
的儲存空間需求膨脹了4倍, 導致預設長度無法正常寫入資料庫,
如果您運行的是MySQL v5.7.7及更高版本,就不會遇到這個問題。
要解決這個問題只要編輯
再重新下
Reference:
app/Providers/AppServiceProvider.php
這支檔案,並在boot方法中設定默認字符串的長度:
use Illuminate\Support\Facades\Schema;
public function boot() {
Schema::defaultStringLength(191);
}
再重新下
migrate
指令就可以了Reference:
留言
張貼留言