在MySQL中存储插入日期和时间
可能重复:在MySQL中存储插入日期和时间,mysql,Mysql,可能重复: 存储INSERT语句运行的日期和时间的最佳方法是什么?是否在查询中包含Now()函数?完成后,是否可以计算72小时是否已过去?查看时间戳字段,特别是您可以创建表格本身来完成所有工作: CREATE TABLE `table` ( `id` INT PRIMARY KEY AUTO_INCREMENT, `updatetime` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) 在这里,当创建记录(即插入)时,数据库将为您填充字段内容 您可
存储INSERT语句运行的日期和时间的最佳方法是什么?是否在查询中包含Now()函数?完成后,是否可以计算72小时是否已过去?查看
时间戳
字段,特别是您可以创建表格本身来完成所有工作:
CREATE TABLE `table` (
`id` INT PRIMARY KEY AUTO_INCREMENT,
`updatetime` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
在这里,当创建记录(即插入)时,数据库将为您填充字段内容
您可以使用
DATE\u DIFF()
或TIME\u DIFF
函数运行一个简单的查询,以检查超过72小时的任何记录。注意,您可能也想在此处使用UNIX\u TIMESTAMP()
函数
有关详细信息,请查看。如果使用默认值为列定义datetime属性,则无需指定显式值。如果将类型定义为,则每次修改记录时,该类型都将更新到当前时间,除非您专门重写该行为 是否可以计算72小时是否已经过去 是-但请确保将所有静态计算放在比较操作的一侧:
SELECT *
FROM yourtable
WHERE NOW() - INTERVAL 72 HOURS > yourtable.created_time;
将比……快
SELECT *
FROM yourtable
WHERE NOW()> yourtable.created_time + INTERVAL 72 HOURS;
即使没有创建时间的索引。如果您在创建时间上有索引,那么第一个查询将不会使用它,但第二个查询将运行得更快。您想知道数据类型吗?好的,谢谢。我需要做什么来检查72小时是否已经过去了?您可以使用DATE_DIFF()或UNIX_TIMESTAMP()运行一个简单的查询,但性能会很差。@symcbean是对的,请看一下他的比较方法