timestamp存在binlog里面的是uniox时间戳 利用binlog恢复数据的时候会恢复成时间戳。。无法对应到具体的年月日 timestamp所能存储的时间范围为:’1970-01-01 00:00:01.000000’ 到 ‘2038-01-19 03:14:07.999999’; datetime所能存储的时间范围为:’1000-01-01 00:00:00.000000’ 到 ‘9999-12-31 23:59:59.999999’ CURRENT_TIMESTAMP为什么能用于datetime类型 所以5.6以后的版本也可以用下面的建表语句: `CREATE_TIME` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', insert into tablename 的时候 1.CREATE_TIME字段要加上,值value对应的不能为空 2.CREATE_TIME字段不加,则数据库默认会用CURRENT_TIMESTAMP(当前时间);同理update也一样,要么无视这个字段,要么设置这个字段,否则会出现不期望的效果 所以,datetime要更实用一点(除了占用的存储空间,DATETIME使用8字节的存储空间,TIMESTAMP的存储空间为4字节)
|
|