在写如下操作的时候遇到这个问题
create table test_self_creates
(id bigint unsigned auto_increment primary key,name varchar(20),
created_at datetime(3) default CURRENT_TIMESTAMP,
updated_at datetime(3) default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP);
其实问题很简单,时间戳精度对不上,datetime(3)表示这datetime保留小数点后三位精度,current_timestamp也保留三位精度就行。
解决如下:
create table test_self_creates
(id bigint unsigned auto_increment primary key,name varchar(20),
created_at datetime(3) default CURRENT_TIMESTAMP(3),
updated_at datetime(3) default CURRENT_TIMESTAMP(3) on update CURRENT_TIMESTAMP(3));
current_timestamp可以作为一个值,也可以作为一个函数传入精度参数,至少我这里的改动是有用的。