mysql,某表,有 create_time、update_time 字段,希望不用在程序中给指定值。

而是在此行数据insert的时候 自动将当前时间赋值给 create_time,
当数据更新的时候,自动将当前时间赋值给 update_time 字段。

是可以设置的。

语句:

alter table user modify column create_time timestamp not null default current_timestamp;
alter table user modify column update_time timestamp not null default current_timestamp on update current_timestamp;

特备值得一提的是:
经测试:

环境:mysql 5.7版本。5.6及之前的版本不支持此特性;


上图:
mysql 5.7

mysql create_time、update_time字段自动设置值_mysql datetime

mysql create_time、update_time字段自动设置值_create_time_02

mysql 5.6

mysql create_time、update_time字段自动设置值_mysql timestamp_03

mysql create_time、update_time字段自动设置值_create_time_04


最后,值得一提的是,数据类型指定为 datetime 或 timestamp 都可以,都一样生效。