【问题标题】:MySQL: Column automaticly current time of insertMySQL:列自动插入当前时间
【发布时间】:2013-07-17 12:50:05
【问题描述】:

我正在创建一个新表,我希望每一行都有一列,该列等于该行插入到表中的时间。有没有办法在 create table 语句中执行此操作,或者我必须在我的 insert 语句中执行此操作?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    这应该可行:

    CREATE TABLE table1 (
      timeStampColumn TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    );
    

    【讨论】:

      【解决方案2】:

      创建表时是这样的。

      CREATE TABLE t1 (
        insert_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
      );
      

      【讨论】:

        【解决方案3】:

        TIMESTAMP 数据类型提供自动初始化和更新到当前日期和时间(即当前时间戳)。MORE

        TIMESTAMP
        

        样本

        CREATE TABLE t1 (
          ts TIMESTAMP
        );
        

        【讨论】:

          【解决方案4】:

          SQLFiddle demo

          Automatic Initialization and Updating for TIMESTAMP and DATETIME

          CREATE TABLE t1 (
            id int,
            update_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
          );
          

          【讨论】:

            【解决方案5】:

            你可以像现在一样设置默认值

                CREATE TABLE example (
                 id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
                 data VARCHAR(140),
                 created TIMESTAMP DEFAULT NOW()
                 );
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2012-01-29
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-11-02
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多