MySQL5.6之前不能存在两个TIMESTAMP类型字段解决办法

使用触发器

这里假设名为type的表中有个create_time字段,需要记录创建时间。因为不能使用timestamp,所以不能将字段默认值设置为now()函数来获取当前时间。

可以使用触发器

-- 给type表创建名为create_time_trigger的触发器
-- before insert on type :触发条件是,对type表进行插入数据之后
-- for each row:一般是指行级触发,对于触发事件影响的每一行都要激活触发器的动作。例如向表中插入多行数据,触发器会对每一行数据的插入都执行相应的触发器动作
CREATE TRIGGER create_time_trigger
BEFORE INSERT ON    type
FOR EACH ROW
-- NEW :在 INSERT 触发器代码内,可引用一个名为 NEW(不区分大小写)的虚拟表来访问被插入的行。
SET NEW.create_time=NOW(); -- 设置新create_time 字段的值为当前时间

 

posted @ 2022-03-17 16:41  重力体  阅读(195)  评论(0)    收藏  举报