首先进行db备份!其次,在您的问题中,您提到了相同的meta\\u键,因此做出了以下假设:
要保留的meta\\u键是“ehp\\U引文”
您要更改的meta\\u键是“ehp\\u引文\\u旧”*因此请进行相应的更正
然后你可以尝试以下方法:
UPDATE `wp_postmeta` AS pm_to_change
LEFT JOIN `wp_postmeta` AS pm_we_want ON pm_to_change.post_id = pm_we_want.post_id
SET pm_to_change.meta_value = pm_we_want.meta_value
WHERE pm_to_change.meta_key = \'ehp_citation_old\'
AND pm_we_want.meta_key = \'ehp_citation\'
AND pm_we_want.meta_value != \'\'
还要确保将db前缀更改为mach yours。
为了解释,
1) 我们说要更新wp_postmeta
表,我们为其命名为:pm_to_change
2) 我们将左连接到同一个表(wp_postmeta
) 但这一次,我们用“pm\\u we\\u want”来引用它,并且我们还说,我们需要相同的数据post_id
3) 在这里,我们说要改变什么。我们想要meta_value
的pm_to_change
设置为meta_value
的pm_we_want
3) 最后,我们指定meta_key
我们需要上述值。所以我们想要meta_key
的pm_to_change
表格应为:ehp_citation_old
以及meta_key
的pm_we_want
表格应为:ehp_citation
.
奖金1:AND pm_we_want.meta_value != \'\'
最后还要检查我们想要的值,从ehp_citation
不为空。这意味着如果它是空的,我们会保留旧的ehp_citation_old
奖励2:首先运行此选择以检查我们是否获得了正确的数据:
SELECT pm_to_change.meta_value AS \'Change_This\', pm_we_want.meta_value AS \'To_That\'
FROM `wp_postmeta` AS pm_to_change
LEFT JOIN `wp_postmeta` AS pm_we_want ON pm_to_change.post_id = pm_we_want.post_id
WHERE pm_to_change.meta_key = \'ehp_citation_old\'
AND pm_we_want.meta_key = \'ehp_citation\'
AND pm_we_want.meta_value != \'\'