zoukankan      html  css  js  c++  java
  • mysql timestamp自动更新 简单

    最近遇到timestamp的自动更新时间问题,记录如下:

    先看mysql官方手册(翻译稿):

    在CREATE TABLE语句中,可以用下面的任何一种方式声明第1个TIMESTAMP列:


    1.用DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP子句,列为默认值使用当前的时间戳,并且自动更新。


    2 .不使用DEFAULT或ON UPDATE子句,与DEFAULT CURRENT_TIMESTAMP ON UPDATECURRENT_TIMESTAMP相同。


    3.用DEFAULT CURRENT_TIMESTAMP子句不用ON UPDATE子句,列为默认值使用当前的时间戳但是不自动更新


    4. 不用DEFAULT子句但用ON UPDATE CURRENT_TIMESTAMP子句,列有默认值0并自动更新。


    5.用常量DEFAULT值,列有给出的 默认值。如果列有一个ON UPDATE CURRENT_TIMESTAMP子句,它自动更新,否则不。换句话说,你可以为初始值和自动更新的值使用当前的时间戳,或者其中一个使用,或者两个皆不使用。(例如,你可以指定ON UPDATE来启用自动更新而不让列自动初始化)。

    补充说明:

    1. 如果表中多列为timestamp,那么每次更新数据的时候,对应行的第一个timestamp会自动更新为CURRENT_TIMESTAMP

    2. timestamp大体和datetime一致,从实现上来讲,用datetime其实基本可以满足需求,从业务端来控制数据值,而不是让数据库来做

    3. 要让行自动更新timestamp值,可以设置该字段的属性为 ON UPDATE CURRENT_TIMESTAMP,这样如果该行的数据列发生变化,则timestamp会自动更新。

    参见:http://dongxuan.iteye.com/blog/901465

    image

  • 相关阅读:
    SCRUM项目 4.0
    【操作系统】实验三 进程调度模拟程序
    Spring 计划
    backlog
    0505-NABCD模型、视频
    0429团队准备
    1028 C语言文法
    编译原理第二次作业 编译器任务总结
    1014编译原理第二次作业(修改版)
    算法原理与分析第二次作业
  • 原文地址:https://www.cnblogs.com/chyong168/p/2770946.html
Copyright © 2011-2022 走看看