当前位置: 首页 > 图文教程 > 网站运营 > 建站经验 > 通过SQL语句转换WordPress数据

建站经验
一个80后农村站长的建站之路
互联网商业模式无限企业之一:中介渠道
陈健:网站流量在你手里已经死了
网站要想做大就得有自己的模式
做论坛聚人气 要有别人需要的东西和双专业
WordPress 缓存插件
Blog必备利器之搬家工具(服务)详解
如何让WP一分类下的文章不在Feed输出
地方站的潜力与发展契机
孙宏哲:专业论坛发展九步骤
新手建站详细5步曲:不懂技术 网站照样红火
Wordpress优化 30个优秀的细节设计与插件
个人网站推广网络运营及营销上的三个节点
八年站长老兵讲述:运营本地人才网的思路
站长们 别被别人所谓真理蒙蔽
张何:企业营销型网站建设与推广的重要性
中初级站长 做站请少走弯路
黄相如:Google到底想干什么
麻城乡情网站长谈用户体验永远是网站建设的根本
黄相如:网恋十年了!

建站经验 中的 通过SQL语句转换WordPress数据


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 72 ::
收藏到网摘: n/a

对于大数据量的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,'[email protected]', '',useip,from_unixtime(dateline),from_unixtime(dateline),message,0,'0','','',0,0 FROM t_posts ;