表结构
create table tableName(
id varchar(8) not null,
date_time timestamp
)
--正确的方式
insert into tableName(id,date_time)
values('00000000',timestamp(current date));
--values('00000000',timestamp(trim(char('2022-02-17 19:41:31.000000'))));
--values('00000000',timestamp(char('2022-02-17 19:41:31.000000')));
--错误的方式
insert into tableName(id,date_time)
values('00000001','2022-02-17 19:41:31');
为什么是正确,错误?
这样加的时间,虽然 select的时候是一样的,但是在数据库对比的时候是不同的
select char(date_time),* from tableName
2022-02-17 19:41:31.000000,00000000 , 2022-02-17 19:41:31
2022-02-17 19:41:31.123456,00000001 , 2022-02-17 19:41:31
如果是修改,并且有时间的字段,可想而知,你可能永远也改不了这条数据。
因为java时间类型Date做转换 毫秒只有前3位 2022-02-17 19:41:31.123000,而这个时间显然与数据库的实际值 2022-02-17 19:41:31.123456不同。虽然他们显示上是2022-02-17 19:41:31