首页 > 解决方案 > 插入带有 3 个表的查询

问题描述

我需要插入到posts表中,它的工作很好,从另一个表中插入114个帖子,但问题是在插入到另一个表中,另一个表需要post id才能插入到其他表中,我只能得到最后一个id,但我需要所有帖子 ID。

怎么能这样

global $wpdb;

$query1 =  "INSERT INTO wpr9_posts ( `post_date`,`post_content`,`post_title`,`post_status`,`post_name`,`post_type` )  SELECT '2020-08-28 18:30:43', `image`,`name`,'publish',`id`,'post' FROM `play` WHERE `catid` = '863'" ;
$wpdb->query(
    $wpdb->prepare($query1)
);
$id1 =  $wpdb->insert_id;



$query2 =  "INSERT INTO wpr9_postmeta ( `post_id`,`meta_key`,`meta_value` ) 
SELECT '".$id1."', 'mp3url',`image` FROM `play` WHERE `catid` = '863'" ;
$wpdb->query(
    $wpdb->prepare($query2)
);
$id2 =  $wpdb->insert_id;


$query3 =  "INSERT INTO wpr9_term_relationships ( `object_id`,`term_taxonomy_id` ) 
SELECT '".$id1."', '7' FROM `play` WHERE `catid` = '863'" ;

$wpdb->query(
    $wpdb->prepare($query3)
);
$id3 =  $wpdb->insert_id;

标签: mysqlsqlwordpress

解决方案


推荐阅读