首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Access遷移MySQL實戰腳本(二):import.php核心遷移邏輯與字段映射自動化

     編輯:MySQL 資料庫相關知識

承接上篇fdlist.php產生字段映射清單,本篇import.php讀取fdlist.txt,透過ODBC連線Access,將資料逐筆轉入MySQL,支援字段刪減與型別自動適配。

import.php 核心流程

  1. 連線MySQL與Access(ODBC DSN名task)。
  2. 讀取fdlist.txt:來源表名、來源字段清單、目標表名、目標字段清單。
  3. 以WHERE 1=2查詢目標表結構,驗證字段數一致。
  4. DELETE FROM target_table清空舊資料。
  5. ODBC執行來源查詢,逐列讀取:
while (odbc_fetch_row($rs)) {
    $sql = "INSERT INTO $target_table ($target_fields) VALUES (";
    for ($i=1; $i<=$field_count; $i++) {
        $val = odbc_result($rs, $i);
        // 字串型別加單引號,數值型別直接輸出
        $sql .= (mysql_field_type($mysql_rs, $i-1) == 'string') ? "'$val'," : "$val,";
    }
    $sql = rtrim($sql, ',') . ")";
    mysql_query($sql);
}

關鍵設計亮點

  • 字段可刪減:fdlist.txt手動刪除不需遷移的字段,無需修改程式碼。
  • 型別自動適配:依MySQL目標表字段型別決定是否加引號,減少型別轉換錯誤。
  • 進度可視化:HTML表格即時顯示字段名與轉入筆數。

實測成果

數十張表、含Memo長文字欄位、四五張表需字段調整,**20分鐘全遷移完成**,完美解決Access匯出分隔符衝突與中文欄位名失效問題。

後續可擴展方向

  • 依ODBC結構自動建立MySQL表(或引導精靈)。
  • 來源/目標資料型別差異偵測與轉換建議。
  • 支援多DSN、批次遷移佇列。

兩支腳本fdlist.php + import.php構成輕量級Access→MySQL遷移工具鏈,零授權成本、可見原始碼、可客製化,適合中小專案快速落地。

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