我正在尝试在Laravel中迁移用户表。运行迁移时,出现以下错误:
[Illuminate \ Database \ QueryException] SQLSTATE
[42000]:语法错误或访问冲突:1071指定的密钥太长;默认值为0。最大密钥长度为767字节(SQL:alter table
users
添加唯一的users_email_uniq(
我的迁移如下:
Schema::create('users', function(Blueprint $table)
{
$table->increments('id');
$table->string('name', 32);
$table->string('username', 32);
$table->string('email', 320);
$table->string('password', 64);
$table->string('role', 32);
$table->string('confirmation_code');
$table->boolean('confirmed')->default(true);
$table->timestamps();
$table->unique('email', 'users_email_uniq');
});
经过一番谷歌搜索后,我发现了这个错误报告,泰勒说您可以将索引键指定为的第二个参数unique()
,这已经完成了。它仍然给出错误。这里发生了什么?
为电子邮件指定较小的长度:
$table->string('email', 250);
实际上是默认值:
$table->string('email');
而且你应该很好。
对于Laravel 5.4,您可以在此Laravel 5.4中找到一个解决方案:指定密钥太长错误,Laravel新闻发布:
如要解决此问题的《迁移指南》所述,您只需编辑AppServiceProvider.php文件,并在启动方法中设置默认字符串长度:
use Illuminate\Database\Schema\Builder;
public function boot()
{
Builder::defaultStringLength(191);
}
我正在尝试迁移Laravel中的一个users表。当我运行迁移时,我会得到以下错误: [Illuminate\Database\QueryException]SQLState[42000]:语法错误或访问冲突:1071指定的键太长;最大密钥长度为767字节(SQL:alter tableadd unique users_email_uniq())
SQLSTATE[42000]:语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为767字节(SQL:更改tabl e用户添加唯一users_email_unique(电子邮件)) SQLSTATE[42000]:语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为767字节 怎么了?我正在使用laravel 5.3
问题内容: Laravel 5.4上的迁移错误 [Illuminate \ Database \ QueryException] SQLSTATE [42000]:语法错误或访问冲突:1071指定的密钥太长;默认值为0。最大密钥长度为767字节(SQL:更改表添加唯一()) [PDOException] SQLSTATE [42000]:语法错误或访问冲突:1071指定的密钥太长;默认值为0。最大
我刚开始学习Laravel 5.4,并尝试在Laravel中迁移用户表。运行迁移时,出现以下错误: [Illumb\Database\QueryException]SQLSTATE[42000]:语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为767字节 遵循本教程后,我现在有另一个错误: PHP致命错误:类'应用\提供商\服务提供商'未找到 我的迁移代码是 我做错了什么?
我是Laravel的新手,尝试使用Laravel MediablePackage,但它给了我一个迁移错误- [PDOException]SQLSTATE[42000]:语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为1000字节“ 我在Laravel 5.4.36,其他网站上的解决方案是添加这个- 但我的项目中已经有了这个。 有人能帮忙吗?
我试图在我的应用程序中创建一个文件的临时URL。我能够上传文件到S3桶,我能够使用方法