在mysql查询中,我如何找到24小时内更改/更新的记录。
我有带有CURRENT_TIMESTAMP的时间戳的mysql表作为默认值。我正在使用PHP与Mysql.when用户编辑记录我有一个字段活动时间默认CURRENT_TIMESTAMP,我想得到所有那些被更改的记录
SELECT * FROM news WHERE activitytime < 24 hours
我试过但没有运气
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或UPDATE中使用活动时间
答案 0 :(得分:0)
试试这个
SELECT * FROM news WHERE date >= now() - INTERVAL 1 DAY;
OR
SELECT *
FROM table_name
WHERE table_name.the_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
您必须在更新当前时间戳
上设置活动时间字段更改
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 ;