转载来自http://blog.csdn.net/ghsau。

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参数未来会消失
  • 我们不要过度依赖数据库的特性,这些特性会给应用程序造成掣肘

转载于:https://www.cnblogs.com/nbuntu/p/5576930.html

MySQL从5.5升级到5.6,TIMESTAMP的变化相关推荐

  1. upgrade lnmpa php.sh,LNMP 状态管理命令说明及Nginx、MySQL/MariaDB、PHP升级教程

    状态管理命令分 LNmp状态管理命令 和 LNmpA状态管理命令,LNMPA代表的是Linux下Nginx.MySQL.PHP.Apache这种网站服务器架构,是结合LAMP与LNMP各自的优点而产生 ...

  2. 在CentOS上把MySQL从5.5升级到5.6

    在CentOS上把MySQL从5.5升级到5.6 摘要:本文记录了在CentOS 6.3上,把MySQL从5.5.28升级到5.6.19的过程. 1. 概述 在我做的一个项目中,最近我对生产服务器上的 ...

  3. mysql 5.1.61_MySQL数据库之将Mysql 5.1.61升级为mysql 5.6.19

    本文主要向大家介绍了MySQL数据库之将Mysql 5.1.61升级为mysql 5.6.19 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 环境:mysql-5.1.61 操 ...

  4. mysql降级导入_mysql 升级和降级

    1 官方推荐的两种升级方式: in-place upgrade logical upgrade 2 升级之前: 备份所有数据库,包括系统库mysql [root@Darren1 ~]# mysqldu ...

  5. centos7恢复mysql数据库_MySQL数据库升级迁移填坑记

    原库:*.*.101.73/74 系统环境: Suse 12.4 MySQL: 5.7.29 新库:*.*.110.46/47 系统环境:CentOS7.7 64位 MySQL版本: 5.7.30 [ ...

  6. 华为云GaussDB(for MySQL)2.0全新升级,三大技术大揭秘

    摘要:9月23日,在华为全联接2021主会场,华为高级副总裁.华为云CEO.消费者云服务总裁张平安发表"深耕数字化,一切皆服务"主题演讲,并发布了GaussDB(for MySQL ...

  7. 更新mysql软件_MySQL软件升级

    1. 升级方式 1)就地升级:直接替换原安装目录文件和my.cnf配置文件,利用${MYSQL_HOME}/bin/mysql_upgrade脚本完成系统表的升级.(适用于夸小版本) 2)逻辑升级:利 ...

  8. Ubuntu 12.04.1 mysql从5.5升级到5.6

    Ubuntu 12.04.1 mysql从5.5升级到5.6 1 2 3 4 5 apt-cache search mysql-server sudo  apt-add-repository ppa: ...

  9. 三星android 8.0的变化,三星S8 | S8+升级Android 8.0后有什么变化

    原标题:三星S8 | S8+升级Android 8.0后有什么变化 近期,令万千三星盖乐世 S8 | S8+用户疯狂的 Android 8.0终于开启Beta计划, 短短几个小时1.5万个内测资格就全 ...

最新文章

  1. iBatis整理——iBatis批处理实现(Spring环境)
  2. Linux之bash shell基本命令
  3. python cv2 matchtemplate_OpenCV-Python系列十:模板匹配
  4. SQL中条件和比较关键字Case的使用方法(case的结果就是得到了一个值)
  5. EV3 直接命令 - 第 2 课 让你的 EV3 做点什么
  6. 微服务网关Gateway
  7. 泰安高考2021成绩查询,泰安高考成绩查询入口2021
  8. 主分区活动分区扩展分区逻辑分区
  9. Java中的【锁】事 - 极客大学架构师训练营 架构师 Albert 分享
  10. 汉化编程软件,游戏辅助集合,不定期更新,欢迎收藏
  11. docx4j书签的妙用
  12. 数据库学习总结与心得
  13. 腾讯文档表格内存优化总结
  14. 霜降|JEPaaS提醒您注意防寒保暖
  15. 卡内基·梅隆大学计算机科学系主任周以真的父母是中国人吗,计算思维(Computational Thinking)...
  16. oracle安装 redo log,Oracle Redo Log 及Logmnr配置使用
  17. TensorFlow在win10上安装--精简教程
  18. Ubuntu还需要做什么才能替代Windows
  19. css样式z-index最大值和z-index最小值
  20. 机房动环设备集中监控数据运维云平台解决方案

热门文章

  1. 谈谈用SQLite和FMDB而不用Core Data
  2. C#中的DBNull、Null、和String.Empty解释【转】
  3. 公司 邮件 翻译 培训 长难句 结课
  4. nodejs中require的路径是一个文件夹时发生了什么
  5. 哲学到编程:思想的实例化
  6. request_do?send方法
  7. 毕业多年,我们转变了多少?
  8. XForum 里用 Filter 编程实现安全访问控制
  9. 如何不部署Keras / TensorFlow模型
  10. t-sne原理解释_T-SNE解释-数学与直觉