MySQL8.0建立一张能自动记录创建时间和更新时间的数据表

本文解决了一个在MySQL中设置Timestamp类型字段默认值时遇到的问题。通过调整默认时间格式为CURRENT_TIMESTAMP或‘1970-01-01 00:00:01’以上,成功避免了错误并实现了自动记录插入时间和最后修改时间的功能。

今天想要把一张已经有的数据表中记录创建日期的一列设置成自动插入当前时间的模式,但是怎么改都报错:

ERROR 1067 (42000): Invalid default value for 'UpdateTime'

于是就从百度上搜集信息,得知想要这样功能的列,需要在建表的时候就设置好,不知道建表之后是不能修改还是我没有找到正确的方法,在这种情况下我尝试重新建表,然后成功得到我想要的具有自动记录插入时间和最后修改时间的功能的列,在这里记录一下,建表语句如下:

 create table table_timestamp(
 message_pk bigint not null auto_increment,
 message_content varchar(99),
 CreateTime timestamp not null default current_timestamp comment '创建时间',
 UpdateTime timestamp not null default current_timestamp on update current_timestamp comment '修改时间',
 primary key(message_pk)
 );

注意:

经过检查定位到下面语句,经过网上查询的资料发现,是默认的时间格式’0000-00-00 00:00:00’和timestamp的时间范围不符合导致的问题,将默认的时间格式改为CURRENT_TIMESTAMP或者是’1970-01-01 00:00:01’以上就可以正常导入了。

以上注意是引用自A2Z_development博客的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值