如何在MySQL中保存带时间的日期?调整字段设置解决PHP传值问题
如何让MySQL字段保存完整的日期时间
嘿,这个问题很好解决,你只需要修改字段的数据类型就能保存2018-05-22 15:10:10这种包含时分秒的完整时间了,具体操作如下:
首选:把字段类型改成
DATETIMEDATETIME是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
相关产品推荐
相关产品推荐

