更改与特定 meta_key 相关的 meta_value
Posted
技术标签:
【中文标题】更改与特定 meta_key 相关的 meta_value【英文标题】:Change meta_value relating to specific meta_key 【发布时间】: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”一年。我知道没有必要更新未使用的帖子,但是我不确定如何区分两者。谢谢流浪汉。
【参考方案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 秒内我的头痛消失了 :) 我给你一个大大的拥抱! 没问题。随意接受我的回答(点击旁边的勾号)和/或投票。这就是我们在这里表达感谢的方式:) 太棒了-谢谢。赞成票没问题 - 接受更好:)以上是关于更改与特定 meta_key 相关的 meta_value的主要内容,如果未能解决你的问题,请参考以下文章
复制 meta_key 并更改前缀,然后复制 meta_value [重复]