timestamp存在binlog里面的是uniox時(shí)間戳 利用binlog恢復(fù)數(shù)據(jù)的時(shí)候會(huì)恢復(fù)成時(shí)間戳。。無法對(duì)應(yīng)到具體的年月日
timestamp所能存儲(chǔ)的時(shí)間范圍為:’1970-01-01 00:00:01.000000’ 到 ‘2038-01-19 03:14:07.999999’;
datetime所能存儲(chǔ)的時(shí)間范圍為:’1000-01-01 00:00:00.000000’ 到 ‘9999-12-31 23:59:59.999999’
CURRENT_TIMESTAMP為什么能用于datetime類型
在mysql 5.6之前的版本,CURRENT_TIMESTAMP只能用于timestamp類型,
5.6版本之后,CURRENT_TIMESTAMP也能用于datetime類型了
select version()查數(shù)據(jù)庫(kù)版本
所以5.6以后的版本也可以用下面的建表語句:
`CREATE_TIME` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
`UPDATE_TIME` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
insert into tablename 的時(shí)候 1.CREATE_TIME字段要加上,值value對(duì)應(yīng)的不能為空 2.CREATE_TIME字段不加,則數(shù)據(jù)庫(kù)默認(rèn)會(huì)用CURRENT_TIMESTAMP(當(dāng)前時(shí)間);同理update也一樣,要么無視這個(gè)字段,要么設(shè)置這個(gè)字段,否則會(huì)出現(xiàn)不期望的效果
所以,datetime要更實(shí)用一點(diǎn)(除了占用的存儲(chǔ)空間,DATETIME使用8字節(jié)的存儲(chǔ)空間,TIMESTAMP的存儲(chǔ)空間為4字節(jié))
聯(lián)系客服