Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Illumb\Database\QueryException SQLSTATE[42000]_Php_Mysql_Laravel - Fatal编程技术网

Php Illumb\Database\QueryException SQLSTATE[42000]

Php Illumb\Database\QueryException SQLSTATE[42000],php,mysql,laravel,Php,Mysql,Laravel,我使用的是Laravel,当我尝试运行php artisan make:migrate时,它会显示以下错误: Illumb\Database\QueryException:SQLSTATE[42000]:语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为767字节(SQL:alter tableusersadduniqueusers\u email\u unique(email) 位于/Users/soksan/Desktop/TestLaravel/multiUsers/vendor/

我使用的是Laravel,当我尝试运行
php artisan make:migrate
时,它会显示以下错误:

Illumb\Database\QueryException:SQLSTATE[42000]:语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为767字节(SQL:alter table
users
addunique
users\u email\u unique
email

位于/Users/soksan/Desktop/TestLaravel/multiUsers/vendor/laravel/framework/src/illumb/Database/Connection.php:664

异常跟踪:

1
PDOException::(“SQLSTATE[42000]:语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为767字节”)

/Users/soksan/Desktop/TestLaravel/multiUsers/vendor/laravel/framework/src/light/Database/Connection.php:458

2
PDOStatement::execute()

/Users/soksan/Desktop/TestLaravel/multiUsers/vendor/laravel/framework/src/light/Database/Connection.php:458


请使用参数
-v
查看更多详细信息。

进入
App\Providers\AppServiceProvider
类,将引导方法更改为如下所示

public function boot()
{
    Schema::defaultStringLength(191);
}

进入
App\Providers\AppServiceProvider
类,将引导方法更改为如下所示

public function boot()
{
    Schema::defaultStringLength(191);
}

转到您的laravel项目,并在该项目内打开
App\Providers\AppServiceProvider
类,更改引导方法并在图像中添加新的模式显示

在顶部添加这一行

使用light\Support\Facades\Schema

替换此方法

公共函数启动()
{
Schema::defaultStringLength(191);
}


转到您的laravel项目,在该项目内打开
App\Providers\AppServiceProvider
类,更改引导方法并添加新的模式,如图所示

在顶部添加这一行

使用light\Support\Facades\Schema

替换此方法

公共函数启动()
{
Schema::defaultStringLength(191);
}


找到config/database.php文件,并将字符集和排序规则从utf8mb4更改为utf8

“字符集”=>“utf8”,
'collation'=>'utf8\u unicode\u ci',

找到文件config/database.php并将字符集和排序规则从utf8mb4更改为utf8

“字符集”=>“utf8”,
“collation”=>“utf8\u unicode\u ci”

您能给我们看一下您的迁移代码吗?请添加用户迁移代码可能重复的可能重复的可以给我们看一下您的迁移代码吗?请添加用户迁移代码可能重复的可能重复的非常感谢您的帮助!它对我有用。添加了命名空间:
\illumb\Support\Facades\Schema::defaultStringLength(191)
您可以添加'use illumb\Support\Facades\Schema;`在您的PHP文件之上,非常感谢您的帮助!它对我有用。添加了命名空间:
\illumb\Support\Facades\Schema::defaultStringLength(191)
您可以添加'use illumb\Support\Facades\Schema;`在PHP文件的顶部