You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求创建MySQL单条记录触发器:设置创建与更新时间戳

MySQL 触发器实现创建/更新时间自动赋值

核心说明

FOR EACH ROW 就是专门针对单条触发记录的操作逻辑,触发器触发时,NEW 关键字代表当前要插入/更新的那条记录,直接通过它就能对单条记录的字段赋值。


1. 插入时自动设置 CREATE_DATE

创建BEFORE INSERT触发器,在插入新记录前,给当前待插入记录的CREATE_DATE赋值为当前时间戳:

DELIMITER //
CREATE TRIGGER trg_table_insert_create_date
BEFORE INSERT ON your_table_name
FOR EACH ROW
BEGIN
    SET NEW.CREATE_DATE = CURRENT_TIMESTAMP;
END //
DELIMITER ;
  • 把your_table_name替换成你的实际表名
  • BEFORE INSERT确保赋值操作在插入执行前完成,保证插入的记录自带正确的创建时间

2. 更新时自动设置 UPDATE_DATE

创建BEFORE UPDATE触发器,在更新记录前,给当前待更新记录的UPDATE_DATE赋值为当前时间戳:

DELIMITER //
CREATE TRIGGER trg_table_update_update_date
BEFORE UPDATE ON your_table_name
FOR EACH ROW
BEGIN
    SET NEW.UPDATE_DATE = CURRENT_TIMESTAMP;
END //
DELIMITER ;
  • 同样替换your_table_name为实际表名
  • 每次更新任意字段时,都会自动更新当前行的UPDATE_DATE为最新时间

补充提示

  • 如果你的MySQL版本支持,也可以直接用NOW()替代CURRENT_TIMESTAMP,效果一致
  • 触发器命名建议带上表名和操作类型,方便后期维护识别

内容的提问来源于stack exchange,提问作者Icy B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 18:05:28