通過SQL語句轉換WordPress數據

  對於大數據量的Blog之間的轉換,往往使用通常的博客轉換程序會非常慢,並且容易出錯,對於基於MySQL的WordPress來說,上傳的數據也有一定的限制,因此,我這裡總結了一些直接通過SQL語句將Z-Blog轉換到WordPress的方法。

  對於Z-Blog用戶來說,可以先執行下面的SQL建立數據表。

CREATE TABLE blog_Article (
 log_ID int NOT NULL ,
 log_CateID int NULL ,
 log_AuthorID int NULL ,
 log_Level int NULL ,
 log_Url varchar (255)  NULL ,
 log_Title varchar (255)  NULL ,
 log_Intro longtext  NULL ,
 log_Content longtext  NULL ,
 log_IP varchar (15)  NULL ,
 log_PostTime datetime NULL ,
 log_CommNums int NULL ,
 log_ViewNums int NULL ,
 log_TrackBackNums int NULL ,
 log_Tag varchar (255)  NULL ,
 log_IsTop varchar (10) NOT NULL
)  ENGINE=InnoDB DEFAULT CHARSET= utf8 AUTO_INCREMENT=1 ;

CREATE TABLE blog_Category (
 cate_ID int NOT NULL ,
 cate_Name varchar (50) NULL ,
  cate_Order int NULL ,
 cate_Intro varchar (255) NULL ,
 cate_Count int NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

  然後再使用“ACCESS數據庫轉換MYSQL數據庫的軟件”將數據庫轉換到MySQL,然後直接在MySQL之中執行如下的SQL語句即可實現數據庫的轉換。這里以Z-BLog 1.7轉換到WordPress 2.3為例,以下是轉換使用的SQL語句,執行SQL前請先清空以下幾個表的數據:

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 select id, post_category from wp_posts ;

  如果安裝了WP-PostViews插件,還可以執行下面的SQL語句將文章點擊數導入到WordPress中:

INSERT INTO `wp_postmeta` select  log_ID , log_ID ,'view ',log_ViewNums FROM blog_Article ;

  對於其他系統轉換到WordPress,也可以使用類似的方法實現,例如我們可以轉換Discuz的評論到WordPress的評論,使用類似下面的語句:

insert 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 ;

文章轉載月光博客

Comments are closed.