從WordPress轉換到Z-Blog的方法

  我以前曾經介紹過將Z-Blog數據庫轉換到WordPress的SQL語句,做為反例,還會有從WordPress系統轉換到Z-Blog系統的SQL語句,這是一個比較奇怪的話題,估計也很少有人這麼做,不過對於某些特殊情況,我們有可能會將WordPress數據庫轉換到Z-Blog的Access數據庫,這裡我介紹一下手動使用SQL語句進行轉換的方法。

  首先在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
)  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

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

  由於Z-Blog的數據庫結構相對Z-Blog要復雜的多,因此轉換之前還要進行一些目錄ID的處理,其SQL語句如下:

update wp_posts, wp_term_relationships set wp_posts.post_category = wp_term_relationships.term_taxonomy_id where wp_posts.id=wp_term_relationships.object_id and wp_term_relationships.term_taxonomy_id in (select term_taxonomy_id from wp_term_taxonomy where taxonomy ='category')



  這個語句將目錄ID保存到了wp_posts表中,這樣以後轉換會方便一些。

  接下來,執行下面的語句,轉換文章表結構。

INSERT INTO blog_Article (log_ID,log_CateID,log_AuthorID,log_Level,log_Url,log_Title,log_Intro,log_Content,log_PostTime,log_CommNums) select id, post_category, post_author, 4, id, post_title, post_excerpt, post_content, post_date, comment_count from wp_posts

  轉換成功後,我們需要安裝一個MYSQL工具,名字叫MySQL ODBC Connector,安裝完成後,在ODBC中建立一個MySQL的數據源。

  最後,打開Access文件,點“獲取外部數據”-“導入”,選擇“ODBC數據庫”中的MySQL數據源,導入blog_Article表即可,這樣就可以將WordPress的文章內容導入到Z-Blog中了。

  以上方法直接使用SQL語句轉換數據庫結構,適合大量數據的導入導出。少量數據可以通過導出XML文件的方式進行轉換。

文章轉載月光博客

Comments are closed.