MySQL中的datetime与timestamp比较

相同
TIMESTAMP列的显示格式与DATETIME列相同。换句话说,显示宽度固定在19字符,并且格式为YYYY-MM-DD HH:MM:SS.
不同
范围 datetime 以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值.支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59' TIMESTAMP 值不能早于1970或晚于2037
储存 TIMESTAMP 1.4个字节储存(Time stamp value is stored in 4 bytes) 2.值以UTC格式保存( it stores the number of milliseconds) 3.时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区。 datetime 1.8个字节储存(8 bytes storage) 2.实际格式储存(Just stores what you have stored and retrieves the same thing which you have stored.) 3.与时区无关(It has nothing to deal with the TIMEZONE and Conversion.) 以前都是使用的datetime类型,不过貌似这样的话,不能让MySQL自动获得当前时间,而必须通过php先date("Y-m-d h:i:s")一下,然后再insert或update过去 把表列的datetime类型改成了timestamp类型,并且将他的默认值改成了CURRENT_TIMESTAMP,就可以自动获取当前时间 不过有个限制,就是一个表里面只能有一个TIMESTAMP列设置为默认CURRENT_TIMESTAMP,第二个就不能设置默认了.

你可能感兴趣的:(mysql)