亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 參數

2024-07-24 13:07:51
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 參數,需要的朋友可以參考下

安裝MySQL時,有warning:

 

 
  1. [root@localhost mysql]# scripts/mysql_install_db --user=mysql 
  2. Installing MySQL system tables...2015-08-13 14:20:09 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 
  3. 2015-08-13 14:20:09 0 [Note] ./bin/mysqld (mysqld 5.6.26) starting as process 1934 ... 
  4. 2015-08-13 14:20:09 1934 [Note] InnoDB: Using mutexes to ref count buffer pool pages 
  5. 2015-08-13 14:20:09 1934 [Note] InnoDB: The InnoDB memory heap is disabled 
  6. 2015-08-13 14:20:09 1934 [Note] InnoDB: Mutexes and rw_locks use InnoDB's own implementation 
  7. 2015-08-13 14:20:09 1934 [Note] InnoDB: Memory barrier is not used 
  8. 2015-08-13 14:20:09 1934 [Note] InnoDB: Compressed tables use zlib 1.2.3 
  9. 2015-08-13 14:20:09 1934 [Note] InnoDB: Using Linux native AIO 
  10. 2015-08-13 14:20:09 1934 [Note] InnoDB: Not using CPU crc32 instructions 
  11. 2015-08-13 14:20:09 1934 [Note] InnoDB: Initializing buffer pool, size = 128.0M 
  12. 2015-08-13 14:20:09 1934 [Note] InnoDB: Completed initialization of buffer pool 
  13. 2015-08-13 14:20:10 1934 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created! 
  14. 2015-08-13 14:20:10 1934 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB 
  15. 2015-08-13 14:20:10 1934 [Note] InnoDB: Database physically writes the file full: wait... 
  16. 2015-08-13 14:20:10 1934 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB 
  17. 2015-08-13 14:20:11 1934 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB 
  18. 2015-08-13 14:20:12 1934 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0 
  19. 2015-08-13 14:20:12 1934 [Warning] InnoDB: New log files created, LSN=45781 
  20. 2015-08-13 14:20:12 1934 [Note] InnoDB: Doublewrite buffer not found: creating new 
  21. 2015-08-13 14:20:12 1934 [Note] InnoDB: Doublewrite buffer created 
  22. 2015-08-13 14:20:12 1934 [Note] InnoDB: 128 rollback segment(s) are active. 
  23. 2015-08-13 14:20:12 1934 [Warning] InnoDB: Creating foreign key constraint system tables. 
  24. 2015-08-13 14:20:12 1934 [Note] InnoDB: Foreign key constraint system tables created 
  25. 2015-08-13 14:20:12 1934 [Note] InnoDB: Creating tablespace and datafile system tables. 
  26. 2015-08-13 14:20:12 1934 [Note] InnoDB: Tablespace and datafile system tables created. 
  27. 2015-08-13 14:20:12 1934 [Note] InnoDB: Waiting for purge to start 
  28. 2015-08-13 14:20:12 1934 [Note] InnoDB: 5.6.26 started; log sequence number 0 
  29. 2015-08-13 14:20:14 1934 [Note] Binlog end 
  30. 2015-08-13 14:20:14 1934 [Note] InnoDB: FTS optimize thread exiting. 
  31. 2015-08-13 14:20:14 1934 [Note] InnoDB: Starting shutdown... 
  32. 2015-08-13 14:20:16 1934 [Note] InnoDB: Shutdown completed; log sequence number 1625977 

OK

 

 
  1. Filling help tables...2015-08-13 14:20:16 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated.  
  2. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 
  3. 2015-08-13 14:20:16 0 [Note] ./bin/mysqld (mysqld 5.6.26) starting as process 1957 ... 
  4. 2015-08-13 14:20:16 1957 [Note] InnoDB: Using mutexes to ref count buffer pool pages 
  5. 2015-08-13 14:20:16 1957 [Note] InnoDB: The InnoDB memory heap is disabled 
  6. 2015-08-13 14:20:16 1957 [Note] InnoDB: Mutexes and rw_locks use InnoDB's own implementation 
  7. 2015-08-13 14:20:16 1957 [Note] InnoDB: Memory barrier is not used 
  8. 2015-08-13 14:20:16 1957 [Note] InnoDB: Compressed tables use zlib 1.2.3 
  9. 2015-08-13 14:20:16 1957 [Note] InnoDB: Using Linux native AIO 
  10. 2015-08-13 14:20:16 1957 [Note] InnoDB: Not using CPU crc32 instructions 
  11. 2015-08-13 14:20:16 1957 [Note] InnoDB: Initializing buffer pool, size = 128.0M 
  12. 2015-08-13 14:20:16 1957 [Note] InnoDB: Completed initialization of buffer pool 
  13. 2015-08-13 14:20:16 1957 [Note] InnoDB: Highest supported file format is Barracuda. 
  14. 2015-08-13 14:20:16 1957 [Note] InnoDB: 128 rollback segment(s) are active. 
  15. 2015-08-13 14:20:16 1957 [Note] InnoDB: Waiting for purge to start 
  16. 2015-08-13 14:20:16 1957 [Note] InnoDB: 5.6.26 started; log sequence number 1625977 
  17. 2015-08-13 14:20:17 1957 [Note] Binlog end 
  18. 2015-08-13 14:20:17 1957 [Note] InnoDB: FTS optimize thread exiting. 
  19. 2015-08-13 14:20:17 1957 [Note] InnoDB: Starting shutdown... 
  20. 2015-08-13 14:20:18 1957 [Note] InnoDB: Shutdown completed; log sequence number 1625987 

OK

 

 
  1. To start mysqld at boot time you have to copy 
  2. support-files/mysql.server to the right place for your system 
  3.  
  4. PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! 
  5. To do so, start the server, then issue the following commands: 
  6.  
  7. ./bin/mysqladmin -u root password 'new-password' 
  8. ./bin/mysqladmin -u root -h localhost.localdomain password 'new-password' 
  9.  
  10. Alternatively you can run: 
  11.  
  12. ./bin/mysql_secure_installation 
  13.  
  14. which will also give you the option of removing the test 
  15. databases and anonymous user created by default. This is 
  16. strongly recommended for production servers. 
  17.  
  18. See the manual for more instructions. 
  19.  
  20. You can start the MySQL daemon with
  21.  
  22. cd . ; ./bin/mysqld_safe & 
  23.  
  24. You can test the MySQL daemon with mysql-test-run.pl 
  25.  
  26. cd mysql-test ; perl mysql-test-run.pl 
  27.  
  28. Please report any problems at http://bugs.mysql.com/ 
  29.  
  30. The latest information about MySQL is available on the web at 
  31.  
  32. http://www.mysql.com 
  33.  
  34. Support MySQL by buying support/licenses at http://shop.mysql.com 
  35.  
  36. New default config file was created as ./my.cnf and 
  37. will be used by default by the server when you start it. 
  38. You may edit this file to change server settings 
  39.  
  40. WARNING: Default config file /etc/my.cnf exists on the system 
  41. This file will be read by default by the MySQL server 
  42. If you do not want to use this, either remove it, or use the 
  43. --defaults-file argument to mysqld_safe when starting the server 
  44.  
  45. [root@localhost mysql]# 

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

其原因是從 5.6開始,timestamp 的默認行為已經是 deprecated 了。

在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′,且沒有警告。

要關閉警告,需要加入下面的參數:

 

 
  1. explicit_defaults_for_timestamp=true 

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

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

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

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

也就是 explicit_defaults_for_timestamp 關閉了 timestamp 類型字段鎖擁有的一些會讓人感到奇怪的默認行為,加入了該參數之后,如果還需要為 timestamp類型的字段指定默認行為,那么就需要顯示的在創建表時顯示的指定。explicit_defaults_for_timestamp 也就是這個意思:顯示指定默認值為timestamp類型的字段。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品第100页| 欧美老女人在线视频| 国产在线精品自拍| 亚洲精品白浆高清久久久久久| 日韩欧美精品中文字幕| 欧美激情手机在线视频| 2021久久精品国产99国产精品| 成人av在线天堂| 精品无码久久久久久国产| 欧美视频在线看| 欧美性jizz18性欧美| 国产精品视频99| 91久久久久久国产精品| 国产脚交av在线一区二区| 91在线视频精品| 久久精品电影网站| 欧美丰满少妇xxxx| 2019国产精品自在线拍国产不卡| 日韩在线视频免费观看高清中文| 欧美精品一二区| 欧美在线观看网站| 欧美性受xxxx白人性爽| 亚洲无av在线中文字幕| 日韩视频免费中文字幕| 国产欧美婷婷中文| 精品成人国产在线观看男人呻吟| 久久男人av资源网站| 亚洲国产精品国自产拍av秋霞| 国模极品一区二区三区| 亚洲国产精品一区二区久| 亚洲国产另类久久精品| 在线播放国产一区中文字幕剧情欧美| 中文字幕一区二区三区电影| 国产91免费看片| 亚洲黄色www| 中文字幕欧美在线| 欧美小视频在线观看| xx视频.9999.com| 国产精品久久一区主播| 91wwwcom在线观看| 亚洲人精选亚洲人成在线| 久久免费视频在线| 国产精品网红直播| 欧美激情乱人伦| 日韩精品视频在线| 6080yy精品一区二区三区| 欧美在线视频观看| 韩国福利视频一区| 一个人看的www欧美| 成人xvideos免费视频| 91香蕉国产在线观看| 日韩亚洲一区二区| 色悠悠久久88| 亚洲视频日韩精品| 国产精品电影网| 中文字幕日韩av| 色综合久久久久久中文网| 亚洲第一福利在线观看| 欧美精品久久久久| 国产精品999| 最近2019中文字幕大全第二页| 91在线高清视频| 91精品视频在线| 日韩欧美aⅴ综合网站发布| 国产成人久久精品| 日韩成人激情在线| 国产精品69精品一区二区三区| 亚洲精品自拍偷拍| 91大神在线播放精品| 国产精品天天狠天天看| 国产精品久久久久久久久久尿| 欧美激情图片区| 日韩av不卡电影| 97视频网站入口| 欧美激情2020午夜免费观看| 亚洲第一区在线| 亚洲视频专区在线| 国产精品精品一区二区三区午夜版| 国产亚洲欧美日韩精品| 欧美成在线观看| 欧美亚洲国产成人精品| 亚洲男人天堂网站| 欧美性xxxxx极品娇小| 亚洲无线码在线一区观看| 国产999在线观看| 91丨九色丨国产在线| 日本人成精品视频在线| 日本精品久久中文字幕佐佐木| 精品一区二区三区三区| 国产精品久久久久久久久久99| 2019国产精品自在线拍国产不卡| 国产脚交av在线一区二区| 欧美一级黑人aaaaaaa做受| 亚洲欧美另类在线观看| 色综合久久久久久中文网| 日韩电影免费观看中文字幕| 91视频88av| 成人欧美一区二区三区在线| 另类专区欧美制服同性| 成人h视频在线| 国产激情999| 久久人人爽人人爽人人片av高清| 久久久久久久亚洲精品| 91午夜理伦私人影院| 亚洲男人第一网站| 国产精品自产拍在线观看| 欧美大片在线免费观看| 国产精品久久久久久亚洲影视| 亚洲视频专区在线| 亚洲缚视频在线观看| 色综合天天综合网国产成人网| 国产精品av在线| www.日韩av.com| 中文字幕在线看视频国产欧美在线看完整| 亚洲精品福利在线| 亚洲国产日韩欧美在线99| 国产精品香蕉在线观看| 亚洲一区中文字幕在线观看| 91香蕉嫩草影院入口| 欧美性做爰毛片| 国产成人精品久久久| 国产99视频在线观看| 国语自产偷拍精品视频偷| 欧美激情亚洲一区| 欧美日韩性生活视频| 亚洲欧美日韩久久久久久| 在线不卡国产精品| 高潮白浆女日韩av免费看| 成人激情视频在线观看| 中文字幕日韩有码| 国模叶桐国产精品一区| 国语自产精品视频在线看抢先版图片| 欧美日韩国产成人在线| 亚洲电影av在线| 狠狠综合久久av一区二区小说| 欧美亚洲在线观看| 国产精品十八以下禁看| 日韩精品免费在线播放| 91亚洲精品在线| 亚洲qvod图片区电影| 国产精品网站视频| 亚洲性猛交xxxxwww| 欧美日韩中文字幕在线视频| 2025国产精品视频| 欧美成年人视频网站欧美| 日韩在线播放一区| 欧美在线中文字幕| 97成人精品区在线播放| 日本三级久久久| 国产suv精品一区二区| 97精品伊人久久久大香线蕉| 精品国产福利视频| 在线电影欧美日韩一区二区私密| 91久久精品久久国产性色也91| 国产亚洲成精品久久| 欧美在线视频免费| 亚洲乱码国产乱码精品精| 亚洲国产精品yw在线观看| 精品免费在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 国产精彩精品视频| 欧美性猛交99久久久久99按摩| 日韩av免费看网站| 久久亚洲精品网站|