|-摘 Laravel 执行php artisan migrate报错 SQLSTATE[42000]: Syntax error or access violation: 1071
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
报错原因
laravel 5.4和更高版本改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持。如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情。
解决方法
1.在app\Providers\AppServiceProvider.php文件的boot()方法中添加默认值
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\Schema; //add fixed sql class AppServiceProvider extends ServiceProvider { /** * Register any application services. */ public function register(): void { // } /** * Bootstrap any application services. */ public function boot(): void { // Schema::defaultStringLength(191); //add fixed sql } }
2.删除已经生成的数据表,然后重新执行php artisan migrate ,否则会继续报下面的错误...
浏览更多内容请先登录。
立即注册
更新于:2024-07-09 12:45:41
相关内容
PHP Error: Maximum execution time of 30 seconds exceeded 解决方案
PHP错误:SQLSTATE[HY000] [2054] The server requested authentica...
php报错 Error: Variable 'sql_mode' can't be set to the value of 'M...
PHP报错:Constants may only evaluate to scalar values
PHP与APP
PHP是否可以应用于App开发
推荐内容