我在wp\\U Posteta中有这样的条目(为简洁起见,缩写为:
post_id | meta_key | meta_value
整数| U缩略图| id |整数
整数| rafi |整数
现在可以轻松地选择和删除包含\\u thumb的所有行。
与包含rafi的行相同。
我需要做的是删除具有公共post\\u id以及\\u thumb和rafi的行。
原因是我只想从设置了rafi键的帖子中删除特色图片。
我可以删除匹配的\\u缩略图\\u id行,因此:
全球wpdb美元;
$wpdb->查询(“
DELETE FROM $wpdb->postmeta
WHERE meta_key = \'_thumbnail_id\'
“);
但我不知道如何正确选择匹配行来设置删除。
谢谢你的建议!
最合适的回答,由SO网友:CodeMascot 整理而成
经过5个小时的搜索,我终于编写了SQL查询,即-
DELETE FROM {$wpdb->postmeta}
WHERE post_id IN (SELECT post_id
FROM (SELECT post_id
FROM {$wpdb->postmeta}
WHERE meta_key LIKE \'_thumbnail_id\'
AND post_id IN(SELECT post_id
WHERE meta_key LIKE \'rafi\'))
AS s)
我在上面看到了你的答案
SQL
对这类问题进行查询是最好的做法,也是更好的做法。
希望这有帮助。