不知为啥 我的mysql是5.6版本的
我把我的sql语句给同学 他们是5.5版本的
经过排查,发现是5.5版本不支持datetime的长度设置。
原因就是5.6以后对datetime作了重大的改进
详情:
http://tech.it168.com/a2013/1013/1544/000001544067.shtml
MySQL 5.6引入了一个新功能,即在某些时间数据类型中增加了对微秒的支持。在MySQL 5.6.4中,TIME、TIMESTAMP和DATETIME能够支持秒的小数部分。在创建一个亚秒字段时,可以在括号里定义精度,如TIME(3)、DATETIME(6)等。
很明显,新功能会带来数据类型格式的变化。TIME、TIMESTAMP和DATETIME三种数据类型存在小数部分,或许有1-3字节的长度,最多可以精确到小数点后6位。
非小数部分也发生了变化。因此,DATETIME数据类型仅占用5个字节,而在之前的版本中需要占用8个字节。