【问题标题】:Insert into wp_postmeta table using ids from select statement使用 select 语句中的 id 插入 wp_postmeta 表
【发布时间】:2014-12-01 20:39:30
【问题描述】:

我正在执行以下查询:

    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_id,并将meta_value 设置为11059

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

【问题讨论】:

    标签: mysql phpmyadmin wordpress


    【解决方案1】:
    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'
    

    【讨论】:

      【解决方案2】:
      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';
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-01
        • 1970-01-01
        • 2019-12-10
        • 2013-12-25
        • 1970-01-01
        相关资源
        最近更新 更多