如何将时间更新为 NOW()?

Posted

技术标签:

【中文标题】如何将时间更新为 NOW()?【英文标题】:How to update time to NOW()? 【发布时间】:2016-10-02 20:44:24 【问题描述】:

如果 date 字段已过时,我想将其设置为 NOW()。这是我尝试运行但没有成功的查询:

Quiz::('date', '<', DB::raw('NOW()'))->update(['date' => DB::raw('NOW()')])

我该如何解决?

附言 如果可能的话,我不想处理Carbon,以避免服务器/数据库时差问题。

【问题讨论】:

首先,你的 update() 语法好像不对,应该是:->update(['date' => DB::raw('NOW()')]) @DenisMysenko 已修复 【参考方案1】:

尝试类似:

DB::table('quizzes')->where(DB::raw('date < NOW()'))->update(['date' => DB::raw('NOW()')]);

【讨论】:

where 子句似乎不正确,无法正常工作 我注意到在调试查询时,is null 被附加到生成的 mysql 查询中:. . . where date &lt; NOW() is null。为什么会这样? 根据***.com/questions/37611461/…,where子句应替换为whereRaw,以避免is null问题

以上是关于如何将时间更新为 NOW()?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 MySql 时间戳列更新为 PHP 上的当前时间戳?

MySQL查询时,将查询时间更新为当前时间now()的sql语句写法

如何在时间戳上使用“NOW()”更新 Sequelize?

django 'auto_now' 如何忽略指定字段的更新

Python如何使日期时间更新时间

Phpmyadmin+codeigniter 如何自动更新我的数据?