場景
兩個 SQLite 數據庫(源庫、目標庫),結構相同的某些表數據不一致,需將源庫表數據**完全覆蓋**到目標庫對應表。
工具:SQLite Expert(Personal / Professional 均可)
圖形化管理工具,支援數據導入導出向導。
操作步驟(圖解流程)
- 同時打開兩庫:File → Open Database,分別打開目標庫、源庫,左側樹雙庫並存。
- 目標庫發起導入:右鍵目標庫 → Data Transfer Wizard → 選 Import。
- 選擇源類型:三個選項中選 Another SQLite Database → 下拉框選中已打開的源庫。
- 默認下一步:映射、類型轉換均保持默認(結構一致時無需調整)。
- 選表覆蓋:彈出目標庫所有表列表,勾選需覆蓋的表 → Finish。
- 驗證:刷新目標庫,查看目標表行數、內容已與源庫一致。
注意事項
- 導入為 **TRUNCATE + INSERT** 模式,目標表原數據會被清空再寫入,不可逆,操作前請備份。
- 若源庫表結構有新增列,目標庫需先
ALTER TABLE ADD COLUMN,否則該列數據丟失。
- 大表(百萬行+)導入較慢,建議命令行
sqlite3 target.db ".mode insert source_table" ".import source.db source_table" 或編程批量提交。
結語
SQLite Expert 的 Data Transfer Wizard 讓庫間表級遷移變成「點點點」操作,適合中小數據量、結構固定的同步場景。大數據量或自動化需求請轉向腳本/代碼方案。