【问题标题】:Change meta_value relating to specific meta_key更改与特定 meta_key 相关的 meta_value
【发布时间】:2015-03-03 04:01:00
【问题描述】:

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

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

如果有人能建议一个 SQL 查询来解决这个问题,我就不用拔头发了。

提前致谢。

LLG

请参阅http://snag.gy/KfJfB.jpg 获取数据库的屏幕截图。

【问题讨论】:

  • 所以你想用alive_days的键更新每一个元值?目前数据库中的值采用什么格式(您的屏幕抓取显示一个空值)?它们是日期(如果是,是什么格式)> 还是整数(例如剩余天数)?
  • 其中一些对于不再退出的过去帖子是空的。仍然活跃的帖子显示天数,例如“356”一年。我知道没有必要更新未使用的帖子,但是我不确定如何区分两者。谢谢流浪汉。

标签: mysql sql wordpress phpmyadmin


【解决方案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, '') != ''

【讨论】:

  • 流浪汉 - 谢谢你,在 0.0091 秒内我的头痛消失了 :) 我给你一个大大的拥抱!
  • 没问题。随意接受我的回答(点击旁边的勾号)和/或投票。这就是我们在这里表达感谢的方式:)
  • 太棒了-谢谢。赞成票没问题 - 接受更好:)
猜你喜欢
  • 2017-03-05
  • 1970-01-01
  • 2019-11-06
  • 2020-04-21
  • 2018-08-24
  • 1970-01-01
  • 2023-04-04
  • 2018-02-16
  • 2017-06-21
相关资源
最近更新 更多