需將 SQL Server 單張表資料遷移至 MySQL,不想安裝 ODBC、Linked Server 或第三方 ETL 工具?利用 SQL Server 內建匯出 CSV、再用 SQLyog 導入 MySQL,無需額外元件,適合中小資料量單表遷移。本文記錄完整操作步驟與避坑指南。
.csv.csv 結尾(如 1.csv),否則 MySQL 無法識別匯出的 CSV 無表頭,直接導入會將第一筆資料當欄位名。修正方法:
"ncid","ncname","link"(雙引號包裹、逗號分隔)1/ 目錄)1_csv 表| 問題 | 原因/解決 |
|---|---|
| 中文亂碼 | CSV 編碼需與 MySQL 連線編碼一致(建議 UTF-8),匯出時留意代碼頁設定 |
| 大數據量導入慢 | 單表超 10 萬行建議用 LOAD DATA INFILE 或分批提交 |
| 欄位型別不符 | SQL Server datetime→MySQL DATETIME;bit→TINYINT(1);uniqueidentifier→CHAR(36) |
| 含逗號/換行的文字欄位 | CSV 需雙引號包裹且內部雙引號轉義,或改用制表符分隔(TSV) |
mysqldump + sed 轉換、CDC 同步工具掌握 CSV 中轉法,即可在受限環境下快速完成異構資料庫單表遷移,是 DBA 實用工具箱中的輕量利器。