Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅当存在Meta Value#2和Meta Key#2时,才为Meta Key#1设置Meta Value#1_Php_Mysql_Wordpress - Fatal编程技术网

Php 仅当存在Meta Value#2和Meta Key#2时,才为Meta Key#1设置Meta Value#1

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

我需要更新我的WordPress数据库,但考虑到第二个条件,我一直遇到障碍

非常简单地说,我有一个meta_键='flowers',它需要一个meta_值='roses',只在meta_键='month'meta_值='august'的地方设置

我无法成功编写包含第二个条件的MySQL查询。我知道怎么做:

更新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”