我正在开发一个迁移插件,用于将数据从OSCommerce数据库移动到WooCommerce(Wordpress)数据库。对于我的大多数查询,我可以从OSCommerce数据库中选择并插入WP数据库而不会出现任何问题。但是,有一个查询似乎需要对每个数据库的表进行JOIN。我似乎不知道在谷歌搜索之后这是否可行,所以我在这里。这就是我所拥有的:
$os_connect = new PDO($os_connect_string, $os_username, $os_password);
$wp_connect = new PDO($wp_connect_string, $wp_username, $wp_password);
$os_statement = $os_connect->prepare("
SELECT categories_id+15
FROM categories
");
$os_statement->execute();
$os_result = $os_statement->fetchAll();
$wp_select = $wp_connect->prepare("
SELECT ID
FROM wp_posts
WHERE post_type = 'attachment'
AND post_parent = 0
");
$wp_select->execute();
$wp_result = $wp_select->fetchAll();
// INSERT data from both of the selects below
这种方法的问题在于,我得到了我需要的两件事,但却没有像我应该的那样按照正确的顺序。我需要使用的查询是:
INSERT INTO `redhillcutlery.com.mm-dev.net`.wp_woocommerce_termmeta(woocommerce_term_id, meta_key, meta_value)
SELECT os.categories_id+15, 'thumbnail_id', wp.ID
FROM `redhill_oscommerce`.categories AS os
JOIN `redhillcutlery.com.mm-dev.net`.wp_posts AS wp
ON os.categories_image = wp.post_title
WHERE wp.post_type = 'attachment'
AND wp.post_parent = 0
此查询正常工作,因为ON os.categories_image = wp.post_title
部分确保正确的图像使其成为正确的类别,而不是我的PDO语句按顺序将它们提供给我并最终给我错误的图像。那么我有什么想法可以使这个JOIN
语句有效吗?