如何插入新的元键/值对,但仅当存在另一个元键时?

时间:2013-09-22 作者:That Brazilian Guy

我需要添加一个新的元键和值部分,只有在其他键存在的帖子上(无论其值如何)。

我尝试使用查询来自动化它,但我的SQL非常有限

以下是我尝试的内容:

INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT
(SELECT meta.post_id
FROM `wp_postmeta` meta
INNER JOIN wp_posts posts ON meta.post_id = posts.id
WHERE meta.meta_key = \'existingkey\'),
(\'newkey\'),
(\'newvalue\')
它返回#1242 - Subquery returns more than 1 row 错误

1 个回复
最合适的回答,由SO网友:Johannes Pille 整理而成

无需通过原始SQL执行此操作。

利用WordPress的核心功能get_post_metaupdate_post_meta.
像这样使用它们:

$existing = get_post_meta( $post_id, \'existingkey\', true );

if ( ! empty( $existing ) ) {
    update_post_meta( $post_id, \'newkey\', \'newvalue\' );
}
完成。

结束