如何使用 mySQL 中的不同 where 子句更新多个列
How to update multiple columns with different where clauses in mySQL
我正在尝试更新 table 中的多个列,这些列在单个查询中都需要不同的 where 子句。我在 sql 上并不出色,并且在 google 上很难找到帮助。我正在努力实现这样的目标
UPDATE $table
SET meta_value = 'john',
meta_value = 'v1234'
WHERE meta_key = 'name' AND post_id=$post_id,
meta_key = 'trak' AND post_id=$post_id"
想法是第一个 SET 匹配第一个 WHERE,第二个 SET 匹配第二个 WHERE 等等。理想情况下,我能够做到其中的许多。知道如何实现吗?
UPDATE $table
SET meta_value = IF(meta_key='name','john','v1234')
WHERE post_id=$post_id AND
meta_key IN ('trak','name')
Update $table
set meta_value = CASE WHEN meta_key = 'name' then 'john'
WHEN meta_key = 'trak' then 'v1234' end
where post_Id = $post_ID
我正在尝试更新 table 中的多个列,这些列在单个查询中都需要不同的 where 子句。我在 sql 上并不出色,并且在 google 上很难找到帮助。我正在努力实现这样的目标
UPDATE $table
SET meta_value = 'john',
meta_value = 'v1234'
WHERE meta_key = 'name' AND post_id=$post_id,
meta_key = 'trak' AND post_id=$post_id"
想法是第一个 SET 匹配第一个 WHERE,第二个 SET 匹配第二个 WHERE 等等。理想情况下,我能够做到其中的许多。知道如何实现吗?
UPDATE $table
SET meta_value = IF(meta_key='name','john','v1234')
WHERE post_id=$post_id AND
meta_key IN ('trak','name')
Update $table
set meta_value = CASE WHEN meta_key = 'name' then 'john'
WHEN meta_key = 'trak' then 'v1234' end
where post_Id = $post_ID