You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL中保存带时间的日期?调整字段设置解决PHP传值问题

如何让MySQL字段保存完整的日期时间

嘿,这个问题很好解决,你只需要修改字段的数据类型就能保存2018-05-22 15:10:10这种包含时分秒的完整时间了,具体操作如下:

  • 首选:把字段类型改成DATETIME
    DATETIME是MySQL专门用来存储完整日期时间的类型,支持YYYY-MM-DD HH:MM:SS格式,范围覆盖从1000-01-01 00:00:00到9999-12-31 23:59:59,完全能满足你的需求。

  • 备选:使用TIMESTAMP类型
    如果你要存储的时间在1970-01-01 00:00:01 UTC到2038-01-19 03:14:07 UTC之间,TIMESTAMP也是个不错的选择。它的特点是会根据MySQL的时区设置自动转换时间,而DATETIME则会原样存储你传入的时间。

具体修改的SQL语句

你可以直接执行这条SQL来修改字段(记得替换成你的表名和字段名):

ALTER TABLE 你的表名 MODIFY COLUMN 你的字段名 DATETIME;
  • 如果原来的字段不允许为空,加上NOT NULL:ALTER TABLE 你的表名 MODIFY COLUMN 你的字段名 DATETIME NOT NULL;
  • 如果想换成TIMESTAMP类型,把DATETIME换成TIMESTAMP即可。

另外,你不需要调整字符集binary或者显示长度/精度——DATETIME和TIMESTAMP都有自己固定的存储格式,这些设置不会影响它们存储完整的日期时间。

内容的提问来源于stack exchange,提问作者Aerodynamika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:46:50