<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        MySQL5.6中TIMESTAMP有那些變化

        來源:懂視網 責編:小采 時間:2020-11-09 20:56:37
        文檔

        MySQL5.6中TIMESTAMP有那些變化

        MySQL5.6中TIMESTAMP有那些變化:在MySQL 5.6.6之前,TIMESTAMP的默認行為: TIMESTAMP列如果沒有明確聲明NULL屬性,默認為NOT NULL。(而其他數據類型,如果沒有顯示聲明為NOT NULL,則允許NULL值。)設置TIMESTAMP的列值為NULL,會自動存儲為當前timestamp。 表中的第一個
        推薦度:
        導讀MySQL5.6中TIMESTAMP有那些變化:在MySQL 5.6.6之前,TIMESTAMP的默認行為: TIMESTAMP列如果沒有明確聲明NULL屬性,默認為NOT NULL。(而其他數據類型,如果沒有顯示聲明為NOT NULL,則允許NULL值。)設置TIMESTAMP的列值為NULL,會自動存儲為當前timestamp。 表中的第一個

        在MySQL 5.6.6之前,TIMESTAMP的默認行為:

        TIMESTAMP列如果沒有明確聲明NULL屬性,默認為NOT NULL。(而其他數據類型,如果沒有顯示聲明為NOT NULL,則允許NULL值。)設置TIMESTAMP的列值為NULL,會自動存儲為當前timestamp。

        表中的第一個TIMESTAMP列,如果沒有聲明NULL屬性、DEFAULT或者 ON UPDATE,會自動分配 DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP 屬性。

        表中第二個TIMESTAMP列,如果沒有聲明為NULL或者DEFAULT子句,默認自動分配'0000-00-00 00:00:00′。插入行時沒有指明改列的值,該列默認分配'0000-00-00 00:00:00′,且沒有警告。

        2列TIMESTAMP未聲明為NULL的默認行為

        從MySQL5.6.6開始這種默認設置的方法被廢棄了。在MySQL啟動時會出現以下警告:

        [Warning] TIMESTAMP with implicit DEFAULT value is deprecated.
        Please use --explicit_defaults_for_timestamp server option
        (seedocumentation for more details).

        關閉警告,在my.cnf中加入

        [mysqld]
        explicit_defaults_for_timestamp=true

        重啟MySQL后錯誤消失,這時TIMESTAMP的行為如下:

        TIMESTAMP如果沒有顯示聲明NOT NULL,是允許NULL值的,可以直接設置改列為NULL,而沒有默認填充行為。

        TIMESTAMP不會默認分配DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP屬性。

        MySQL5.6-INNODB-timestampTIMESTAMP 不設置是否為NULL

        聲明為NOT NULL且沒有默認子句的TIMESTAMP列是沒有默認值的。往數據表中插入列,又沒有給TIMESTAMP列賦值時,如果是嚴格SQL模式,會拋出一個錯誤,如果嚴格SQL模式沒有啟用,該列會賦值為'0000-00-00 00:00:00′,同時出現一個警告。(這和MySQL處理其他時間類型數據一樣,如DATETIME)

        TIMESTAMP 默認設置為NOT NULL

        Note:

        以上內容和存儲引擎選擇無關。

        MySQL從5.5升級到5.6,TIMESTAMP的變化

        前言

        前段時間,系統MySQL從5.5升級到了5.6,系統出現了大量的異常。大部分異常引起原因是由于TIMESTAMP的行為發生了變化。

        TIMESTAMP在MySQL5.5中的行為

        第一個未設置默認值的TIMESTAMP NOT NULL字段隱式默認值:

        CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 后面未設置默認值的TIMESTAMP NOT NULL字段隱式默認值:

        0000-00-00 00:00:00 TIMESTAMP NOT NULL字段插入NULL時,會使用隱式默認值:

        CURRENT_TIMESTAMP 不支持多個CURRENT_TIMESTAMP 默認值

        TIMESTAMP在MySQL5.6中的行為

        支持多個CURRENT_TIMESTAMP 默認值 可以兼容5.5的行為,支持隱性默認值

        explicit_defaults_for_timestamp=0 我測試安裝的MySQL5.6默認使用這個參數,啟動時,服務器會給出一個警告。

        [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).

        可以去掉隱性默認值

        explicit_defaults_for_timestamp=1

        總結

        MySQL5.5中TIMESTAMP行為是比較詭異的,會造成一些隱含的問題,比如程序中傳入了NULL值 MySQL5.6中可以將TIMESTAMP的行為變得正常,但會存在兼容問題 explicit_defaults_for_timestamp參數未來會消失 我們不要過度依賴數據庫的特性,這些特性會給應用程序造成掣肘

        您可能感興趣的文章:

      1. MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 參數
      2. MySQL 5.6 中 TIMESTAMP 的變化分析
      3. MySQL 5.6 中TIMESTAMP with implicit DEFAULT value is deprecated錯誤
      4. Mysql中的Datetime和Timestamp比較
      5. mysql 數據類型TIMESTAMP
      6. mysql之TIMESTAMP(時間戳)用法詳解
      7. MySQL錯誤TIMESTAMP column with CURRENT_TIMESTAMP的解決方法
      8. 解析mysql中UNIX_TIMESTAMP()函數與php中time()函數的區別
      9. MySQL timestamp自動更新時間分享
      10. mysql多個TimeStamp設置的方法解讀
      11. mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函數
      12. MySQL timestamp的類型與時區實例詳解
      13. 聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        MySQL5.6中TIMESTAMP有那些變化

        MySQL5.6中TIMESTAMP有那些變化:在MySQL 5.6.6之前,TIMESTAMP的默認行為: TIMESTAMP列如果沒有明確聲明NULL屬性,默認為NOT NULL。(而其他數據類型,如果沒有顯示聲明為NOT NULL,則允許NULL值。)設置TIMESTAMP的列值為NULL,會自動存儲為當前timestamp。 表中的第一個
        推薦度:
        標簽: 變化 mysql mysql5.6
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 99re6在线精品免费观看| 美女免费视频一区二区三区| 永久免费av无码入口国语片| 国产偷国产偷亚洲高清日韩| 日韩精品无码免费视频| 亚洲XX00视频| 亚洲一级片免费看| 亚洲国产精品福利片在线观看| 最近中文字幕大全免费版在线| 亚洲国产精品无码专区在线观看| 国产午夜无码精品免费看 | 处破女第一次亚洲18分钟| 四虎影院免费在线播放| 妇女自拍偷自拍亚洲精品| 亚洲美女高清一区二区三区| 在线播放国产不卡免费视频| 亚洲精品制服丝袜四区| 99国产精品免费视频观看| 亚洲卡一卡2卡三卡4麻豆| 无码国产精品一区二区免费I6 | 精品特级一级毛片免费观看| 亚洲国产黄在线观看| h视频免费高清在线观看| 亚洲国产成人片在线观看| 亚洲一级免费毛片| 亚洲精品国产suv一区88| 国产偷窥女洗浴在线观看亚洲| 国产免费无码AV片在线观看不卡| 4444亚洲国产成人精品| 天天看免费高清影视| 久久久久久av无码免费看大片| 亚洲高清在线播放| 操美女视频免费网站| 国产黄在线播放免费观看| 亚洲精品国产福利在线观看| 日韩精品免费一区二区三区| 三年片在线观看免费西瓜视频| 亚洲AV综合色区无码二区偷拍| 国产乱色精品成人免费视频| 暖暖在线视频免费视频| 亚洲欧美不卡高清在线|