使用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('用户名');
重新运行迁移指令,错误得到解决,同时我们也创键了索引,截图如下: