MySQL从5.5升级到5.6,TIMESTAMP的变化
生活随笔
收集整理的這篇文章主要介紹了
MySQL从5.5升级到5.6,TIMESTAMP的变化
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)載來自http://blog.csdn.net/ghsau。
MySQL從5.5升級(jí)到5.6,TIMESTAMP的變化
TIMESTAMP在MySQL5.5中的行為
- 第一個(gè)未設(shè)置默認(rèn)值的TIMESTAMP NOT NULL字段隱式默認(rèn)值:
CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP - 后面未設(shè)置默認(rèn)值的TIMESTAMP NOT NULL字段隱式默認(rèn)值:
0000-00-00 00:00:00 - TIMESTAMP NOT NULL字段插入NULL時(shí),會(huì)使用隱式默認(rèn)值:
CURRENT_TIMESTAMP - 不支持多個(gè)CURRENT_TIMESTAMP 默認(rèn)值
TIMESTAMP在MySQL5.6中的行為
- 支持多個(gè)CURRENT_TIMESTAMP 默認(rèn)值
- 可以兼容5.5的行為,支持隱性默認(rèn)值
- explicit_defaults_for_timestamp=0
- 我測試安裝的MySQL5.6默認(rèn)使用這個(gè)參數(shù),啟動(dòng)時(shí),服務(wù)器會(huì)給出一個(gè)警告。
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).
- 可以去掉隱性默認(rèn)值
- explicit_defaults_for_timestamp=1
總結(jié)
- MySQL5.5中TIMESTAMP行為是比較詭異的,會(huì)造成一些隱含的問題,比如程序中傳入了NULL值
- MySQL5.6中可以將TIMESTAMP的行為變得正常,但會(huì)存在兼容問題
- explicit_defaults_for_timestamp參數(shù)未來會(huì)消失
- 我們不要過度依賴數(shù)據(jù)庫的特性,這些特性會(huì)給應(yīng)用程序造成掣肘
轉(zhuǎn)載于:https://www.cnblogs.com/nbuntu/p/5576930.html
總結(jié)
以上是生活随笔為你收集整理的MySQL从5.5升级到5.6,TIMESTAMP的变化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到别人婚礼是什么意思
- 下一篇: 如何在postgresql中模拟orac