最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 5.6 中 TIMESTAMP有那些變化

 更新時間:2015年08月14日 16:22:06   投稿:mrr  
前段時間,系統(tǒng)MySQL從5.5升級到了5.6,系統(tǒng)出現(xiàn)了大量的異常。大部分異常引起原因是由于TIMESTAMP的行為發(fā)生了變化,下面通過此篇文章給大家詳解MySQL 5.6 中 TIMESTAMP有那些變化,需要的朋友可以參考下

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

TIMESTAMP列如果沒有明確聲明NULL屬性,默認為NOT NULL。(而其他數(shù)據(jù)類型,如果沒有顯示聲明為NOT NULL,則允許NULL值。)設(shè)置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開始這種默認設(shè)置的方法被廢棄了。在MySQL啟動時會出現(xiàn)以下警告:

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

關(guān)閉警告,在my.cnf中加入

[mysqld]
explicit_defaults_for_timestamp=true

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

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

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

MySQL5.6-INNODB-timestampTIMESTAMP 不設(shè)置是否為NULL

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

TIMESTAMP 默認設(shè)置為NOT NULL

Note:

以上內(nèi)容和存儲引擎選擇無關(guān)。

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

前言

前段時間,系統(tǒng)MySQL從5.5升級到了5.6,系統(tǒng)出現(xiàn)了大量的異常。大部分異常引起原因是由于TIMESTAMP的行為發(fā)生了變化。

TIMESTAMP在MySQL5.5中的行為

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

CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 后面未設(shè)置默認值的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默認使用這個參數(shù),啟動時,服務(wù)器會給出一個警告。

[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

總結(jié)

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

相關(guān)文章

  • Mysql5.6 忘記root密碼的解決辦法

    Mysql5.6 忘記root密碼的解決辦法

    mysql5.6忘記root密碼怎么辦,用什么方法可以重置root密碼呢?下面通過本文給大家介紹Mysql5.6 忘記root密碼的解決辦法,需要的朋友參考下
    2016-01-01
  • navicat 8 創(chuàng)建數(shù)據(jù)庫與創(chuàng)建用戶分配權(quán)限圖文方法

    navicat 8 創(chuàng)建數(shù)據(jù)庫與創(chuàng)建用戶分配權(quán)限圖文方法

    navicat是一款不錯的圖形化管理mysql的工具,大家一般都是用phpmyadmin或直接命令行操作,對于不是很熟悉命令的朋友,就可以使用navicat這個工具了,方便操作。
    2011-04-04
  • mysql連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解

    mysql連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解

    這篇文章主要介紹了mysql連接查詢、聯(lián)合查詢、子查詢原理與用法,結(jié)合實例形式詳細分析了mysql連接查詢、聯(lián)合查詢、子查詢的基本概念、功能、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • B-樹的刪除過程介紹

    B-樹的刪除過程介紹

    今天小編就為大家分享一篇關(guān)于B-樹的刪除過程介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • MySQL學習筆記3:表的基本操作介紹

    MySQL學習筆記3:表的基本操作介紹

    要操作表首先需要選定數(shù)據(jù)庫,因為表是存在于數(shù)據(jù)庫內(nèi)的;表的基本操作包括:創(chuàng)建表、顯示表、查看表基本結(jié)構(gòu)、查看表詳細結(jié)構(gòu)以及刪除表等等,需要了解的朋友可以參考下
    2013-01-01
  • mysql中order by與group by的區(qū)別

    mysql中order by與group by的區(qū)別

    以下是對mysql中order by與group by的區(qū)別進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-07-07
  • MySql COALESCE函數(shù)使用方法代碼案例

    MySql COALESCE函數(shù)使用方法代碼案例

    這篇文章主要介紹了MySql COALESCE函數(shù)使用方法代碼案例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 圖文詳解Mysql中如何查看Sql語句的執(zhí)行時間

    圖文詳解Mysql中如何查看Sql語句的執(zhí)行時間

    寫程序的人往往需要分析所寫的SQL語句是否已經(jīng)優(yōu)化過了,服務(wù)器的響應(yīng)時間有多快,所以下面這篇文章主要給大家介紹了關(guān)于Mysql中如何查看Sql語句的執(zhí)行時間的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • MYSQL 數(shù)據(jù)庫導入導出命令

    MYSQL 數(shù)據(jù)庫導入導出命令

    在不同操作系統(tǒng)或MySQL版本情況下,直接拷貝文件的方法可能會有不兼容的情況發(fā)生。所以一般推薦用SQL腳本形式導入。下面分別介紹兩種方法。
    2010-11-11
  • MySQL8.0.28安裝教程詳細圖解(windows?64位)

    MySQL8.0.28安裝教程詳細圖解(windows?64位)

    如果電腦上已經(jīng)有MySQL數(shù)據(jù)庫再進行重做往往會遇到問題,下面這篇文章主要給大家介紹了關(guān)于windows?64位系統(tǒng)下MySQL8.0.28安裝教程的詳細教程,文章通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-04-04

最新評論

报价| 宁南县| 昌江| 翼城县| 吉木乃县| 黔南| 彰化市| 德钦县| 台南县| 乌兰察布市| 景泰县| 丰都县| 定襄县| 康保县| 兴海县| 穆棱市| 靖边县| 多伦县| 崇义县| 金沙县| 蕉岭县| 阿克苏市| 辉南县| 乐陵市| 临澧县| 屏东县| 方城县| 咸丰县| 阿拉善左旗| 新沂市| 昌都县| 柘城县| 永平县| 鹤岗市| 乐山市| 石首市| 林口县| 乐平市| 盐亭县| 兰西县| 林芝县|