如何使用MySQLI数据类型时间将计算时间存储到数据库中



我正在尝试使用MySQLI数据类型时间将计算的时间存储到数据库中。计算的意味着我正在尝试存储播放时间或用户花费在玩游戏的时间。因此,我有列spent_time哪种数据类型为time,并且设置了默认值00:00:00

当我尝试存储5分钟30秒00:05:30时,查询返回错误

SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect time value: '' for column 'time_spent' at row 1

和以下是使用查询插入记录的脚本

 $Log   = new Log;
 $Log->user_id       = request()->user()->id;
 $Log->time_spent    = $time;
 $Log->save();

有人可以指导我如何解决此错误,我会很感激。谢谢

您正在使用一种类型的字段来存储不正确的time。时间字段允许您存储一个时间(例如上午8点,下午2点和9pm),但不能累积时间(例如1秒,3分钟或5小时)。

如果要节省时间到数据库,请更改注册用户在线多长时间(可能在几秒钟内,使用int字段)或存储您作为varchar的值数据库。

最新更新