仅在 MySQL 列中自动标记日期

Automatically stamp date only in MySQL column

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

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

操作该值

PHP

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

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

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

也适用于插入:

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

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

curdate()

如果你想从数据库本身获取它,那么保留它 -

timestamp default current_timestamp on update current_timestamp

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