Php 仅当存在Meta Value#2和Meta Key#2时,才为Meta Key#1设置Meta Value#1
我需要更新我的WordPress数据库,但考虑到第二个条件,我一直遇到障碍 非常简单地说,我有一个meta_键='flowers',它需要一个meta_值='roses',只在meta_键='month'和meta_值='august'的地方设置 我无法成功编写包含第二个条件的MySQL查询。我知道怎么做:Php 仅当存在Meta Value#2和Meta Key#2时,才为Meta Key#1设置Meta Value#1,php,mysql,wordpress,Php,Mysql,Wordpress,我需要更新我的WordPress数据库,但考虑到第二个条件,我一直遇到障碍 非常简单地说,我有一个meta_键='flowers',它需要一个meta_值='roses',只在meta_键='month'和meta_值='august'的地方设置 我无法成功编写包含第二个条件的MySQL查询。我知道怎么做: 更新wp\u postmeta 设置meta_值='roses' 其中meta_键='flowers' 但它不仅限于meta\u key='month'和meta\u value='aug
更新wp\u postmeta
设置meta_值='roses'
其中meta_键='flowers'
但它不仅限于meta\u key='month'和meta\u value='august'
任何帮助都将不胜感激!提前谢谢
更新#1:
应@草莓公司的要求,我想进一步说明我的问题。我不完全确定怎么做,但是meta_键='flowers'和meta_键='month'必须是相关的。目前,所有帖子都由meta_键='flowers'和meta_键='month'组成
更新#2:
我得到了@Rahul的帮助,以下是对我有用的版本:
更新wp_postmeta a
在a.post\u id=b.post\u id和
b、 meta_键=‘月’和
b、 meta_值='august'
设置a.meta_值='roses'
其中a.meta_key='flowers';
希望它也能帮助其他人。此外,有关联接的详细信息,请参见:
谢谢大家 存在
操作员应执行以下工作:
UPDATE wp_postmeta a
SET a.meta_value = 'roses'
WHERE a.meta_key = 'flowers' AND
EXISTS (SELECT *
FROM wp_postmeta b
WHERE a.post_id = b.post_id AND
b.meta_key = 'month' AND
b.meta_value = 'august')
存在
操作员应执行以下操作:
UPDATE wp_postmeta a
SET a.meta_value = 'roses'
WHERE a.meta_key = 'flowers' AND
EXISTS (SELECT *
FROM wp_postmeta b
WHERE a.post_id = b.post_id AND
b.meta_key = 'month' AND
b.meta_value = 'august')
@草莓嗯。。。好的方面:-)编辑了我的答案,这代表了我的愚蠢。我不确定如何回答你的问题。你指的是相关的meta_key=flowers和meta_key=month吗?这是需要post_id的地方吗?@Jorge好吧,是的-否则我们怎么知道它们是相关的-但这一点太重要了,不能在评论中讨论。也许您可以修改您的问题。我执行了查询并收到以下错误:#1093-您不能在中指定要更新的目标表“a”clause@Strawberry隐马尔可夫模型。。。好的方面:-)编辑了我的答案,这代表了我的愚蠢。我不确定如何回答你的问题。你指的是相关的meta_key=flowers和meta_key=month吗?这是需要post_id的地方吗?@Jorge好吧,是的-否则我们怎么知道它们是相关的-但这一点太重要了,不能在评论中讨论。也许您可以修改您的问题。我执行了查询并收到以下错误:#1093-您不能在FROM子句中指定更新的目标表“a”