【问题标题】:Automatically stamp date only in MySQL column仅在 MySQL 列中自动标记日期
【发布时间】:2015-09-11 12:42:09
【问题描述】:

有没有办法在 MySQL 中添加一列来仅标记 DATE?我知道now() 可以在sql 中使用来做到这一点。但是我正在寻找一种在添加记录时数据库本身自动添加日期(yyyy-mm-dd)的方法?在我的情况下,时间不是必需的,因此我宁愿只存储日期(不确定这是否是一种不好的做法)。

【问题讨论】:

    标签: php mysql sql pdo phpmyadmin


    【解决方案1】:

    设置列类型如timestamp DEFAULT CURRENT_TIMESTAMP,它会自动设置日期。不幸的是,它也会设定时间。然而;您可以使用 php 操作该值。

    PHP

    echo date ('Y-m-d',strtotime($row['created_time']));
    

    【讨论】:

    • 是的,不幸的是它也会设置时间。但是您可以使用 php 函数 date() 操作字符串
    • 感谢您的编辑。 @ZafarMalik 的回答似乎可以解决问题
    【解决方案2】:

    使用下面的函数,它将只为您提供日期。你可以通过你的应用程序-

    curdate()

    如果您想从数据库本身获取,请保留它 -

    timestamp default current_timestamp on update current_timestamp
    

    现在您只能按日期(mycolumn)函数获取日期。

    【讨论】:

      【解决方案3】:

      您可以像这样使用DATE_FORMAT() 函数:

      SELECT DATE_FORMAT(NOW(),'%Y-%m-%d');
      

      也可以使用插入:

      INSERT INTO tablename (id, date) VALUES (1,DATE_FORMAT(NOW(),'%Y-%m-%d'));
      

      【讨论】:

      • 谢谢。我正在寻找一种在添加记录时数据库本身自动添加日期(yyyy-mm-dd)的方法。
      猜你喜欢
      • 2014-02-09
      • 1970-01-01
      • 2016-07-25
      • 2021-11-26
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 2018-08-05
      • 2015-02-18
      相关资源
      最近更新 更多