数据库教程

MySQL将timestamp默认值设置为null

MySQL将timestamp默认值设置为null。

教程详情

图文教程

问题

以前MySQL创建表的的时候,timestamp类型的字段可以不加默认值。

createTime timestamp COMMENT '创建时间',

这样创建是没有问题的。但是现在却报错,“Invalid default value for ‘createTime’”

问题原因:因为MySQL 5.6以后timestamp设定默认值规则改变,不能为0000 00-00 00:00:00

查看网上解决方案是修改mysql安装目录下的my.ini文件。但是我不想改mysql配置。

解决方案

createTime timestamp NULL COMMENT '创建时间',

return_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '返回时间',