更改与特定meta_key相关的meta_value

时间:2015-01-05 15:22:06

标签: mysql sql wordpress phpmyadmin

我有一个wordpress目录主题,其中一堆列表即将过期。这些都是在不同的日子创建的。我想批量更新整个数据库,以便我的所有列表在今天重置一年。

它们与表wp_postmeta有关,meta_key是“alive_days”,我需要更新相关的meta_value。

如果有人可以建议一个SQL查询来解决这个问题,那么我将从头发中解脱出来。

提前致谢。

LLG

有关数据库的screengrab,请参阅http://snag.gy/KfJfB.jpg

1 个答案:

答案 0 :(得分:1)

根据您对我的问题的回答,这应该可以解决问题(首先备份您的数据库,以防万一):

update wp_postmeta
   set meta_value = '365' -- I assume you meant that, not 356
 where meta_key = 'alive_days'

现有的空白将会更新,但由于它们与不再存在的帖子有关,因此无关紧要。如果您不想更新它们,可以添加一个额外条件(我假设它们包含空字符串,而不是null,但ifnull应该处理它:)

update wp_postmeta
   set meta_value = '365'
 where meta_key = 'alive_days'
   and ifnull(meta_value, '') != ''