2016-09-17 52 views
0

当我没有meta_key = '_thumbnail_id'时,我想插入表格shp_postmeta如何在特定条件不满意时插入表格

插入的值是从同一个表shp_postmeta其中meta_key = '_product_image_gallery'即在SQL语句

SELECT meta_key, meta_value FROM shp_postmeta WHERE meta_key = '_product_image_gallery' 

该表涉及到不同的表shp_post其中shp_posts.ID = shp_postmeta.post_id

shp_postmeta的表结构的形式:

meta_id | post_id | meta_key | meta_value 

表结构shp_posts表为:

ID | post_author | .... 

这些是WordPress表结构。

编辑1

在WP也有一些woocommerce产品不具有特色的形象,但他们的产品画廊图像。图像被上传到媒体中。所以我想让图库图像成为特色图像,哪些产品没有特色图像。产品量很大。所以我想通过脚本自动化它。

+0

你能分享一些样本数据,结果你想要得到它?这会使问题更加清楚。 – Mureinik

+1

请参阅编辑它可能有助于澄清问题。 – PlanetHackers

回答

1

因为shp_postmeta有一个auto_increment的PK,你可以执行:

INSERT INTO shp_postmeta 
    SELECT null, p1.post_id, '_thumbnail_id', p1.meta_value 
    FROM shp_postmeta p1 
    WHERE p1.post_id NOT IN(
      SELECT p2.post_id 
      FROM shp_postmeta p2 
      WHERE p2.meta_key = '_thumbnail_id') 
    AND p1.meta_key = '_product_image_gallery' ; 
+0

它有语法错误。第二行可能不需要null。 – PlanetHackers

+0

语法错误?哪里? – corretge

+0

必须将第一个字段设置为null,即auto_increment PK。 – corretge

相关问题