我正在学习使用mysql,所以我创建了一个非常简单的项目经理程序。我想跟踪用户是否在项目中看到了她/他的任务。所以当一个项目被用户查询时,我想更新user_seen_task文件,但是很明显,我只想更新这个字段,如果它还没有设置好的话。
这是我的方法,我已经做到了:
UPDATE task
SET user_seen_task = 1, user_seen_task_date = NOW()
WHERE project_id = 14 AND user = 4 AND user_seen_job != 1不幸的是,这个查询每次运行时都会更新user_seen_task_date。
任何帮助都是非常感谢的。
发布于 2014-07-25 10:11:10
UPDATE task
SET user_seen_task = 1
, user_seen_task_date = CASE
WHEN user_seen_task_date IS NULL THEN NOW()
ELSE user_seen_task_date
END
WHERE project_id = 14
AND user = 4
AND user_seen_job != 1或者如果在本例中不需要更新user_seen_task,只需添加
AND user_seen_task_date IS NULL 进入您的where子句
UPDATE task
SET user_seen_task = 1, user_seen_task_date = NOW()
WHERE project_id = 14 AND user = 4 AND user_seen_job != 1
AND user_seen_task_date IS NULL https://stackoverflow.com/questions/24953239
复制相似问题