首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

WordPress 遷移至 Z-Blog Access 資料庫的 SQL 腳本實作

     編輯:關於SqlServer

遷移策略

針對大量資料,直接使用 SQL 轉換結構並匯入 Access 最為高效。步驟如下:

1. 建立目標表結構

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;

2. 處理分類 ID 對映

WordPress 將分類關聯存於 wp_term_relationships,需先將 term_taxonomy_id 寫回 wp_posts.post_category:

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'
  );

3. 轉換文章資料

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;

4. 匯入 Access

  1. 安裝 MySQL ODBC Connector 並建立系統 DSN。
  2. 開啟 Access,選「取得外部資料」→「匯入」→「ODBC 資料庫」,選取 MySQL DSN。
  3. 匯入 blog_Article、blog_Category 即完成遷移。

少量資料亦可考慮匯出 XML 再匯入。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved