1.timestamp存储和时区相关,即会根据时区做转换
如:+8时区存进去, 而在+9时区取出,则时间为+9时区的时间
而datetime存储和时区不相关,不会做转换
如:+8时区存进去,在+9时区取出时,仍为+8时区的时间
2.占用空间不一样,前者4字节,后者8字节
例子:
create table t_timezone ( ts timestamp, dt datetime);
show variables like '%time_zone%';
system_time_zone cst(China Standard Time)
time_zone +08:00
insert into t_timezone(now(),now());
select * from t_timezone;
ts dt
2018-11-08 10:11:30 2018-11-08 10:11:30
set time_zone='+9:00';
select * from t_timezone;
ts dt
2018-11-08 10:11:30 2018-11-08 11:11:30