首页 > 解决方案 > MySQL时间戳列未更新

问题描述

这是返回的查询

UPDATE `casts` SET `cast_name` = 'Test Name', `date_of_birth` = '1968-05-10 00:00:00' WHERE `id` =  '148'

我也试过这个查询

UPDATE `casts` SET `cast_name` = 'Test Name', `date_of_birth` = '1968-05-10' WHERE `id` =  '148'

由于某种原因date_of_birth没有更新?

date_of_birth是时间戳默认 NULL。

怎么解决?

标签: mysql

解决方案


MySQL TIMESTAMP 的范围为 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。因此,您不能将“1968-05-10”值赋予 date_of_birth 时间戳字段。

如果要存储“1968-05-10”,则可以使用DATETIME字段。DATETIME 范围是“1000-01-01 00:00:00”到“9999-12-31 23:59:59”

参考:https ://dev.mysql.com/doc/refman/8.0/en/datetime.html


推荐阅读