使用Laravel進行數據庫遷移文件開發,有些字段我們需要建立索引,
$table->string('username')->unique();
當創建完索引,并使用
php artisan migrate:refresh
重建,發現提示錯誤信息如下:
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (S
QL: alter table `users` add unique `users_username_unique`(`username`))
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
查看報錯信息我們發現是由于字段定義的長度導致,
修改代碼,對該索引字段進行長度定義:
$table->string('username', 60)->unique()->comment('用戶名');
重新運行遷移指令,錯誤得到解決,同時我們也創鍵了索引,截圖如下:
$table->string('username')->unique();
當創建完索引,并使用
php artisan migrate:refresh
重建,發現提示錯誤信息如下:
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (S
QL: alter table `users` add unique `users_username_unique`(`username`))
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
查看報錯信息我們發現是由于字段定義的長度導致,
修改代碼,對該索引字段進行長度定義:
$table->string('username', 60)->unique()->comment('用戶名');
重新運行遷移指令,錯誤得到解決,同時我們也創鍵了索引,截圖如下: