特殊条件不满意时如何插入表格

时间:2016-09-17 09:56:59

标签: php mysql wordpress

我希望在没有shp_postmeta时插入表meta_key = '_thumbnail_id'

插入的值来自同一个表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产品没有特色图像,但它们有产品图库图像。图像被上传到媒体中。所以我想将图库图像设置为特色图像,哪些产品没有特色图像。产品数量很大。所以我想通过脚本自动化它。

1 个答案:

答案 0 :(得分: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' ;