MySQL load数据的时候自动更新时间
前提
CREATE TABLE table_name (
dt varchar(255) NULL ,
ctime timestamp NULL ON UPDATE CURRENT_TIMESTAMP ,
PRIMARY KEY (dt)
);
- 建表语句如上,需求如题,即在load数据的时候更新ctime
解决办法
在知乎上看到了这个答案,说了原因是load的时候关注的是速度(load比insert快将近10倍),所以不会启动自动计算规则,建议导入后update一下。
试了一下这个 办法,但是试了一下并不管用
-
然后找到了这个,即在load的时候直接设置一下ctime即可,如下:
load data local infile 'xxx' ignore into table table_name fields terminated by '\t' set ctime=NOW();