仅在 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)函数获取日期。
有没有办法在 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)函数获取日期。