在mysql查询如何找到哪些记录在24小时内更改/更新
我有mysql表的时间戳与CURRENT_TIMESTAMP作为默认值。我使用PHP Mysql。当用户编辑记录时,我有一个字段activitytime与默认CURRENT_TIMESTAMP,我想得到所有这些记录被更改
SELECT * FROM news WHERE activitytime < 24 hours
i tried but no luck
select * from news where activitytime >= now() - INTERVAL 1 DAY order by activitytime desc
为什么我的activitytime字段不更新,我正在更新它?我应该再次节省活动时间吗?
CREATE TABLE IF NOT EXISTS `crmtbl` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`ref` varchar(33) NOT NULL,
`activitytime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=316 ;
查询mysq_query("INSERT INTO crmtbl(ref) Values('myref')");
表示我没有在INSERT OR UPDATE中使用activitytime
try this
SELECT * FROM news WHERE date >= now() - INTERVAL 1 DAY;
或
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
你必须使activitytime字段更新当前时间戳
更改为
CREATE TABLE IF NOT EXISTS `crmtbl` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`ref` varchar(33) NOT NULL,
`activitytime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=316 ;