zoukankan      html  css  js  c++  java
  • MySQL TIMESTAMP(时间戳)详解

    在创建表时如果表中有一个字段类型为TIMESTAMP,则该字段默认的生成语句为:

    CREATE TABLE `test` (
      `id` int(11) DEFAULT NULL,
      `ctime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    ) ENGINE=InnoDB DEFAULT CHARSET=gbk

    如果有两个字段类型为TIMESTAMP,则生成语句为:

    CREATE TABLE `test` (
      `id` INT(11) DEFAULT NULL,
      `ctime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `utime` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'
    ) ENGINE=INNODB DEFAULT CHARSET=gbk
    
    TIMESTAMP设置默认值是Default CURRENT_TIMESTAMP、

    TIMESTAMP设置随着表变化而自动更新是ON UPDATE CURRENT_TIMESTAMP

    一个表中至多只能有一个字段设置CURRENT_TIMESTAMP(当前时间)

    1、TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

    在创建新记录和修改现有记录的时候都对这个数据列刷新
     
    2、TIMESTAMP DEFAULT CURRENT_TIMESTAMP 

    在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它

    3、TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

    在创建新记录的时候把这个字段设置为0,以后修改时刷新它


    作者:itmyhome

    出处:http://blog.csdn.net/itmyhome1990/article/details/39342245


  • 相关阅读:
    笔记-JavaWeb学习之旅13
    笔记-JavaWeb学习之旅12
    笔记-JavaWeb学习之旅11
    笔记-JavaWeb学习之旅10
    EF Core CodeFirst
    C#泛型
    软件工程笔记(二)
    第一章 软件工程概述
    软件工程笔记(一)
    MySql笔记(二)
  • 原文地址:https://www.cnblogs.com/itmyhome/p/4131249.html
Copyright © 2011-2022 走看看