0

今週のテレビ番組のリストを含むテーブルがmysqldbにあります。こんな感じです。

----------------------------------------------
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しかし、現在再生中のライブTV番組ではなく、現在に最も近いものだけが返されるため、これは正しい解決策ではありません。

誰かが私にこの問題についていくつかの光を見せてもらえますか?

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 に答える