您好我想发出请求,选择要更新的栏目
UPDATE `ze_mail` SET
(CASE
WHEN `ze_mail_id` = 1 AND `ze_mail_user1_id` = 27
THEN(
`ze_mail_user1_lastDate`
)
WHEN `ze_mail_id` = 1 AND `ze_mail_user2_id` = 27
THEN(
`ze_mail_user2_lastDate`
)
END)
= NOW()
WHERE WHEN `ze_mail_id` = 1
获得该
UPDATE `ze_mail` SET `ze_mail_user1_lastDate` = NOW() WHERE `ze_mail_id` = 1
或那
UPDATE `ze_mail` SET `ze_mail_user2_lastDate` = NOW() WHERE `ze_mail_id` = 1
你能帮助我吗?
答案 0 :(得分:0)
您可以更新'两者都使用CASE EXPRESSION
,如果它没有回答条件,结果就不会改变:
UPDATE `ze_mail`
SET `ze_mail_user1_lastDate` = CASE WHEN `ze_mail_user1_id` = 27
THEN NOW()
ELSE `ze_mail_user1_lastDate`
END,
`ze_mail_user2_lastDate` = CASE WHEN `ze_mail_user2_id` = 27
THEN NOW()
ELSE `ze_mail_user2_lastDate`
END
WHERE `ze_mail_id` = 1
备注:强>
WHERE WHEN
错了,一个简单的WHERE
就足够了。
CASE
是一个表达式,它只能提供一个值。
您不需要在ze_mail_id = 1
上使用CASE EXPRESSION
,因为您已经过滤了它们。