zoukankan      html  css  js  c++  java
  • MySql中的时间类型datetime,timestamp,date,year比较

    MySQL日期类型、日期格式、存储空间、日期范围比较。
    日期类型        存储空间       日期格式                 日期范围
    ------------ ---------   --------------------- -----------------------------------------
    datetime       8 bytes   YYYY-MM-DD HH:MM:SS   1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
    timestamp      4 bytes   YYYY-MM-DD HH:MM:SS   1970-01-01 00:00:01 ~ 2038
    date           3 bytes   YYYY-MM-DD            1000-01-01          ~ 9999-12-31
    year           1 bytes   YYYY                  1901                ~ 2155
    在 MySQL 中创建表时,这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。
    timestamp默认值有三种:
    ■NULL
    ■NOT NULL DEFAULT CURRENT_TIMESTAMP
    ■NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    其中,
    ■CURRENT_TIMESTAMP - 当更新此条记录时,时间戳不会改变
    ■CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP - 当更新此条记录时,时间戳将会改变,变为最新时间
    设置CURRENT_TIMESTAMP默认值后,插入记录还是更新记录都不需要维护该字段,该字段完全由MySQL维护,就像AutoIncrement字段一样,但如果使用上文设置的datetime字段,则需要手动构造时间更新,比如类似now()等。
    对CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,有个特殊情况,假如你更新的字段值(UPDATE)没有变化时,MySQL将会忽略更新操作,所以,时间戳也不会改变。另外,如果有多个CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP列,那么MySQL只会更新第一个。

  • 相关阅读:
    Meterpreter
    CHM木马
    浅析ARP协议及ARP攻击
    python绝技 — 使用PyGeoIP关联IP地址和物理位置
    python虚拟环境virtualenv的安装与使用
    python调用nmap探测局域网设备
    提权
    Nexpose
    docker安装使用
    一些渗透测试练习环境介绍
  • 原文地址:https://www.cnblogs.com/robertsun/p/5369003.html
Copyright © 2011-2022 走看看