如何基于多个值更新列

时间:2019-02-14 23:14:03

标签: mysql

这种情况下,需要在不使用主键的情况下更新一行。我们知道meta_key等于_length并且外键列是post_id

我们已经能够收集所有post_id值的列表,但似乎不能有2个条件进行UPDATE?

这是我们希望实现的目标:

UPDATE `wp_postmeta`
SET `meta_value` = 1 
WHERE `meta_key` = '_length' AND 
WHERE `post_id` IN (1856,1858,1943,2050)

如果这不可能,为什么?

如果有必要,我可以查询以获取与meta_key ='_length'和'post_id'IN(1856,1858,1943,2050)匹配的主键列表,但是最好知道为什么不起作用。

1 个答案:

答案 0 :(得分:3)

您不必在多个条件下重复WHERE

UPDATE `wp_postmeta`
SET `meta_value` = 1 
WHERE `meta_key` = '_length' AND 
`post_id` IN (1856,1858,1943,2050)

https://www.techonthenet.com/sql/where.php