MySQL表中如何从timestamp列提取日期并新增对应日期列?
在MySQL中新增日期列并同步提取timestamp日期
当然可以完成新列创建和日期提取的操作,分两步就能搞定:
1. 新增日期类型的列
先用ALTER TABLE语句给目标表添加一个DATE类型的新列:
ALTER TABLE 你的表名 ADD COLUMN 提取出的日期列 DATE;
把语句里的你的表名替换成实际表名,提取出的日期列改成你想要的新列名称。
2. 填充新列的日期数据
接着用UPDATE语句结合DATE()函数,把timestamp列的日期信息提取并写入新列:
UPDATE 你的表名 SET 提取出的日期列 = DATE(你的timestamp列名);
同样替换语句中的表名、新列名和原timestamp列名即可。
可选:让新数据自动同步日期
如果希望后续插入新数据时,新列能自动从timestamp列提取日期,可创建一个触发器:
DELIMITER // CREATE TRIGGER auto_fill_date_col BEFORE INSERT ON 你的表名 FOR EACH ROW BEGIN SET NEW.提取出的日期列 = DATE(NEW.你的timestamp列名); END // DELIMITER ;
注意:操作前建议先备份表数据,避免因语句错误导致数据丢失;如果表中数据量很大,
UPDATE操作可能会占用较多资源,尽量在业务低峰期执行。
内容的提问来源于stack exchange,提问作者Chuks Joy
相关产品推荐
相关产品推荐

