MySQL: Automatic Initialization and Updating for TIMESTAMP and DATETIME

 

 

https://dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html

 

  1. CREATE TABLE t1 (
        ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
        dt DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    )

     

     

     

     

  2. CREATE TABLE t1 (
      ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
      dt DATETIME DEFAULT CURRENT_TIMESTAMP
    );

     

    CREATE TABLE t1 (
        ts TIMESTAMP DEFAULT 0,
        dt DATETIME DEFAULT 0
    )

     

     

    CREATE TABLE t1 (
      ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
      dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
    );

     

  3. TIMESTAMP & DATETIME 默认值

     

    CREATE TABLE t1 (
      ts1 TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,          -- default NULL
      ts2 TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP,     -- default NULL
      ts3 TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP, -- 必须插入值
      dt1 DATETIME ON UPDATE CURRENT_TIMESTAMP,           -- default NULL
      dt2 DATETIME NULL ON UPDATE CURRENT_TIMESTAMP,      -- default NULL
      dt3 DATETIME NOT NULL ON UPDATE CURRENT_TIMESTAMP   -- 必须插入值
    );

     

     

     

     

     

     

     

     

  4. explicit_defaults_for_timestamp

     

     


  5.  

     

     

posted @ 2022-07-26 22:20  ascertain  阅读(19)  评论(0编辑  收藏  举报