mysql 5.6版本 DATETIME问题
转自:https://kalacloud.com/blog/difference-between-mysql-datetime-and-timestamp-datatypes/
1.建表不支持
使用如下字段建表时,不支持:
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
报错:Invalid default value for 'create_time',搜索之后发现是数据库版本的问题,5.5版本的mysql不支持这样建表。
在表插入数据时使用的是now函数:
mysql> SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2022-09-16 20:23:22 | +---------------------+
now会显示日期+时间。
2.DATETIME和TIMESTAMP
相同点:
- 两个数据类型存储时间的格式一致。均为
YYYY-MM-DD HH:MM:SS
- 两个数据类型都包含「日期」和「时间」部分。
- 两个数据类型都可以存储微秒的小数秒(秒后6位小数秒)
区别:
当存入时间是NULL时,
TIMESTAMP
:会自动存储当前时间(now()
)。DATETIME
:不会自动存储当前时间,会直接存入NULL
值。
TIMESTAMP可以自动转换时区,涉及时间加减计算更方便。
创建表,例子:
CREATE TABLE time_demo_kalacloud (`timestamp` timestamp,`datetime` datetime); insert into time_demo_kalacloud values (NULL,NULL), (now(),now()), ('19970701171207','19970701171207'); select * from time_demo_kalacloud; +---------------------+---------------------+ | timestamp | datetime | +---------------------+---------------------+ | 2022-09-17 16:52:15 | NULL | | 2022-09-17 16:52:15 | 2022-09-17 16:52:15 | | 1997-07-01 17:12:07 | 1997-07-01 17:12:07 | +---------------------+---------------------+
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2020-09-17 安装keras+tf