升级到laravel 5.3后,错误的日期时间格式:1292错误的日期时间值:'0000-00-00 00:00:00'

伊戈尔·奥斯塔皮克(Igor Ostapiuk)

我将项目从5.2升级到了laravel 5.3。现在,当我要运行时php artisan migrate,会收到错误消息:

SQLSTATE [22007]:无效的日期时间格式:1292错误的日期时间值:第1行的“ created_at”列的“ 0000-00-00 00:00:00”(SQL:alter table messagesadd deleted_attimestamp null)。

我的迁移:

  Schema::table(Models::table('messages'), function (Blueprint $table) {
        $table->softDeletes();
  });

在Blueprint.php中:

    public function softDeletes()
    {
        return $this->timestamp('deleted_at')->nullable();
    }
爱国者

Laravel 5.3已更新为默认情况下使用MySQL“严格”模式,其中包括该NO_ZERO_DATE模式。

问题是您的现有数据被允许使用'0000-00-00 00:00:00'作为日期时间值。但是,现在您的连接正在使用不允许该值(NO_ZERO_DATE的sql模式当您尝试更改表以添加deleted_at列时,它抱怨列中现有的数据冲突created_at

理想的解决方案是修复数据库中的所有数据。也就是说,遍历数据库并更新datetime / timestamp字段,使其可以为空,然后将其数据从“ 0000-00-00 00:00:00”转换为null。

但是,快速选项是仅在数据库连接上禁用“严格”模式。打开config/database.php文件,并确保数据库连接显示'strict' => false

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

0000-00-00 00:00:00在时间戳

MySQL不正确的日期时间值:“ 0000-00-00 00:00:00”

日期时间值不正确:列的“0000-00-00 00:00:00”

#1292-错误的日期值:“ 0000-00-00”

如何解析0000-00-00 00:00:00?

具有“ 0000-00-00 00:00:00”格式的Doctrine2默认时间戳?

MySQL导入将时间戳的空值转换为0000-00-00 00:00:00

如何使用javascript获取当前时间为00/00/0000 00:00:00

如何将时间“0000-00-00 00:00:00”设置为LocalDateTime?

为什么 SQL 会将表中的日期更新为 0000-00-00 00:00:00?

momentjs 格式返回 0000-00-00

'0000-00-00 00:00:00'不能表示为java.sql.Timestamp错误

在Mysql数据库中将0000-00-00 00:00:00插入到DateTime

如何在python中使用strftime()格式化'0000-00-00 00:00:00'?

如何将字段的默认值设置为“ 0000-00-00 00:00:00”?

不正确的DateTime值'0000-00-00 00:00:00'-Date_Sub()在

无法将DateTimeField的默认值设置为“ 0000-00-00 00:00:00”

R:将日期/时间格式 0000-00-00T00:00:00Z 转换为 POSIXct

如何将具有0000-00-00 00:00:00值的日期时间设置为NULL?

为什么将“ 0000:00:00 00:00:00”解析为日期返回-0001-11-28T00:00:00Z?

MySQL - 如何选择日期时间字段不等于 0000-00-00 00:00:00 的行?

商店时间戳记与时间00:00:00

我没有在 javascript 0000-00-00 00:00:00 中获得确切的 mysql 默认时间格式

将时间设置为00:00:00

Hibernate在时间'00:00:00'返回null

20.04 崩溃,错误为 \00\00\00

“5:00:00”和“12:00:00”之间的VBA Excel SQL查询(单独时间不是日期)

将chr“ 00:00:00”转换为日期时间“ 00:00:00”

如何将日期修整为00/00/0000的格式?