我安装laravel 5.5并且当我运行php artisan migrate
时显示此错误
[照亮\数据库\ QueryException] SQLSTATE [42000]:语法错误或访问冲突:1071指定密钥太长;最大密钥长度为767字节(SQ L:alter table
users
添加唯一users_email_unique
(
我在AppServiceProvider.php
public function boot()
{
Schema::defaultStringLength(191); //Solved by increasing StringLength
}
然后告诉我这个错误
[照亮\数据库\ QueryException] SQLSTATE [42000]:语法错误或访问冲突:1067' created_at'的默认值无效。 (SQL:create table
password_resets
(token
varchar(191)not null,created_at
timestamp not null)de 故障字符集utf8mb4 collate utf8mb4_unicode_ci)
答案 0 :(得分:7)
您可以使用nullableTimestamps()
代替timestamps()
或
$table->timestamp('created_at')->default(\DB::raw('CURRENT_TIMESTAMP'));
请查看以下参考链接:
答案 1 :(得分:2)
我当前正在使用laravel 7。
我只是去config / database.php
然后我将strict => true
更改为strict => false
。
然后再次运行相同的迁移。可以。
答案 2 :(得分:0)
我的案子
$table->timestamp('deleted_at')->nullable()->default(null);
这有效