0

我在 mysql db 中有一个表,其中包含本周的电视节目列表。是这样的。

----------------------------------------------
start_time,        tv_program_name    isLive
2013-01-19 17:00   sports news
2013-01-19 18:30   NBA....

......

------------------------------------------------

我想使用 SQL 通过将 start_time 与 now() 进行比较来找出当前的电视节目,并在 db 中用 isLive = 1 标记当前的电视节目

我尝试使用 sql

-------------
SELECT * 
FROM tv_programs
ORDER BY ABS( TIMESTAMPDIFF( 
MINUTE , start_time, NOW( ) ) ) ASC 
-------------

但这不是正确的解决方案,因为它只返回tv_program最接近当前的节目,而不是现在正在播放的直播电视节目。

谁能告诉我一些关于这个问题的信息?

4

2 回答 2

0

您在寻找更新查询吗?

UPDATE tv_programmess
SET isLive = 1
WHERE start_time = Now()
于 2013-01-20T14:45:33.620 回答
0
SELECT * FROM tv_programs
WHERE start_time <= NOW()
ORDER BY start_time DESC
LIMIT 1;
于 2013-01-20T14:50:14.477 回答