【发布时间】:2015-09-11 12:42:09
【问题描述】:
有没有办法在 MySQL 中添加一列来仅标记 DATE?我知道now() 可以在sql 中使用来做到这一点。但是我正在寻找一种在添加记录时数据库本身自动添加日期(yyyy-mm-dd)的方法?在我的情况下,时间不是必需的,因此我宁愿只存储日期(不确定这是否是一种不好的做法)。
【问题讨论】:
标签: php mysql sql pdo phpmyadmin
有没有办法在 MySQL 中添加一列来仅标记 DATE?我知道now() 可以在sql 中使用来做到这一点。但是我正在寻找一种在添加记录时数据库本身自动添加日期(yyyy-mm-dd)的方法?在我的情况下,时间不是必需的,因此我宁愿只存储日期(不确定这是否是一种不好的做法)。
【问题讨论】:
标签: php mysql sql pdo phpmyadmin
设置列类型如timestamp DEFAULT CURRENT_TIMESTAMP,它会自动设置日期。不幸的是,它也会设定时间。然而;您可以使用 php 操作该值。
PHP
echo date ('Y-m-d',strtotime($row['created_time']));
【讨论】:
使用下面的函数,它将只为您提供日期。你可以通过你的应用程序-
curdate()
如果您想从数据库本身获取,请保留它 -
timestamp default current_timestamp on update current_timestamp
现在您只能按日期(mycolumn)函数获取日期。
【讨论】:
您可以像这样使用DATE_FORMAT() 函数:
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d');
也可以使用插入:
INSERT INTO tablename (id, date) VALUES (1,DATE_FORMAT(NOW(),'%Y-%m-%d'));
【讨论】: