use*_*909 3 mysql case-when sql-update
我试图写这样的查询,我收到一个错误.这是我第一次使用案例,所以我认为问题就在于此.
UPDATE my_table
CASE
WHEN downloads IS NULL THEN
SET downloads = 1
ELSE
SET downloads + 1
END
WHERE attachment_id = 8990
AND parent_post_id = 9221
OR attachment_id = 9211
AND parent_post_id = 383
Run Code Online (Sandbox Code Playgroud)
你可以重写如下
UPDATE my_table
SET downloads = CASE WHEN downloads IS NULL THEN 1
ELSE downloads + 1 END
WHERE attachment_id = 8990
AND (parent_post_id = 9221
OR attachment_id = 9211 )
AND parent_post_id = 383
Run Code Online (Sandbox Code Playgroud)
另外你需要将你的or条件(),以满足9211对parent_post_id与attachment_id使用或操作,也有混乱的状况下,你在你的查询如何parent_post_id和attachment_id可以等于在同一时间2点的值可能是你正在寻找
WHERE (attachment_id = 8990 AND parent_post_id = 9221 )
OR (attachment_id = 9211 AND parent_post_id = 383)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49 次 |
| 最近记录: |