从WordPress转换到Z-Blog的方法

我以前曾经介绍过将Z-Blog数据库转换到WordPress的SQL语句,做为反例,还会有从WordPress…

我以前曾经介绍过将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 (

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文件的方式进行转换。

类别:WordPress经验

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册