当我们有两个需求:创建时间(createtime)和更新时间(updatetime)时,
我们在数据库中创建字段时,设置两个Timestamp时会发生这种情况:
这是由于版本问题引起的,解决办法有两种,
1.升级你的mysql版本,升级到最新版本即可解决问题
2.如果不想升级,那么此时需要创建一个触发器,通过触发器在插入之前获取当前时间,然后返回给createtime
CREATE TRIGGER `gmt_create_trigger`
BEFORE INSERT ON `edu_teacher`
FOR EACH ROW
begin
SET NEW.gmt_create=NOW();
end
这里的gmt_create_trigger为你的触发器名称自行设置
edu_teacher为你插入操作的数据库表名称
set new.gwt_create=now();里的gwt_create为你创建时间的字段名称
注意:数据库创建时间的类型设置为datetime类型,默认值为null
修改时间的类型设置为Timestamp默认值设为CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP
然后执行添加操作时,创建时间即可自动添加进数据库,值为你添加时的当前时间