大量資料下直接用 SQL 轉換結構並匯入 MySQL 最穩定。步驟:
CREATE TABLE blog_Article (...) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE blog_Category (...) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
用「Access 轉 MySQL 工具」匯入資料至上述中繼表。
-- 文章
INSERT INTO wp_posts (id, post_author, post_date, post_date_gmt, post_content,
post_title, post_category, post_excerpt, post_status, comment_status,
ping_status, post_password, post_name, to_ping, pinged, post_modified,
post_modified_gmt, post_content_filtered, post_parent, guid, menu_order,
post_type, post_mime_type, comment_count)
SELECT log_ID, '1', log_PostTime, log_PostTime, log_Content, log_Title,
log_CateID, log_Intro, 'publish', 'open', 'open', '', log_ID, '', '',
log_PostTime, log_PostTime, '', 0, log_ID, 0, 'post', '', 0
FROM blog_Article;
-- 分類
INSERT INTO wp_terms (term_id, name, slug, term_group)
SELECT cate_ID, cate_Name, cate_Intro, 0 FROM blog_Category;
INSERT INTO wp_term_taxonomy (term_taxonomy_id, term_id, taxonomy, description, parent, count)
SELECT cate_ID, cate_ID, 'category', '', 0, cate_Count FROM blog_Category;
INSERT INTO wp_term_relationships (object_id, term_taxonomy_id)
SELECT id, post_category FROM wp_posts;
-- 若裝 WP-PostViews 外掛,導入點擊數
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT log_ID, 'views', log_VIEwNums FROM blog_Article;
如 Discuz 評論遷移 WordPress:
INSERT INTO wp_comments (comment_post_ID, comment_author, comment_author_email,
comment_author_url, comment_author_IP, comment_date, comment_date_gmt,
comment_content, comment_karma, comment_approved, comment_agent,
comment_type, comment_parent, user_id)
SELECT tid, author, 'yourname@mail.com', '', useip,
FROM_UNIXTIME(dateline), FROM_UNIXTIME(dateline), message, 0, '0', '', '', 0, 0
FROM t_posts;