2014-12-01 41 views
0

我有以下查询工作:插入wp_postmeta表使用IDS从select语句

SELECT ID 
    FROM `wp_posts` as ps 
    INNER JOIN `wp_term_relationships` as tr 
    ON ps.ID = tr.object_id 
    WHERE ps.post_date < '2011-06-07' /*Get posts before June 6th 2011*/ 
    AND ps.post_title 
    LIKE '%MY SEARCH STRING %' /*A String im looking for in post titles*/ 
    AND tr.term_taxonomy_id = '548'/*My Category ID*/; 

我需要查询,以插入特定的数据为每个结果的ID。从理论上讲:

INSERT IGNORE INTO wp_postmeta (post_id,meta_key, meta_value) 
VALUES (IDs from selection above,_thumbnail_id,11059) 

这将设置meta_key_thumbnail_idmeta_value11059从上面的具体选择所有的职位。

同时跳过插入任何值的meta_idwp_postmeta自动递增列通过使用wp_postmeta (post_id ..)和不wp_postmeta (meta_id,post_id ..)

回答

0
INSERT IGNORE INTO wp_postmeta (post_id, meta_key, meta_value) 
SELECT ID, '_thumbnail_id', 11059 
FROM `wp_posts` as ps 
INNER JOIN `wp_term_relationships` as tr ON ps.ID = tr.object_id 
WHERE ps.post_date < '2011-06-07' 
AND ps.post_title LIKE '%MY SEARCH STRING %' 
AND tr.term_taxonomy_id = '548' 
+1

'_thumbnail_id' – Phil 2014-12-01 20:49:04

0
INSERT IGNORE INTO wp_postmeta 
SELECT ID, NULL, 11059 
FROM `wp_posts` as ps 
INNER JOIN `wp_term_relationships` as tr ON ps.ID = tr.object_id 
WHERE ps.post_date < '2011-06-07' 
AND ps.post_title LIKE '%MY SEARCH STRING %' 
AND tr.term_taxonomy_id = '548';