MySQL load数据的时候自动更新时间

时间:2023-02-01 08:21:22

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();