載入重複資料
如果使用 LOAD DATA INFILE
命令使用現有資料填充表,則通常會發現由於重複導致匯入失敗。有幾種可能的方法可以解決這個問題。
載入資料本地
如果在伺服器中啟用了此選項,則可以使用它來載入客戶端計算機而不是伺服器上存在的檔案。副作用是忽略唯一值的重複行。
LOAD DATA LOCAL INFILE 'path of the file/file_name.txt'
INTO TABLE employee
LOAD DATA INFILE’fname’替換
使用 replace 關鍵字時,重複的唯一鍵或主鍵將導致現有行被替換為新行
LOAD DATA INFILE 'path of the file/file_name.txt'
REPLACE INTO TABLE employee
LOAD DATA INFILE’fname’IGNORE
與 REPLACE
相反,現有行將被保留,新的行將被忽略。這種行為類似於上面描述的 LOCAL
。但是,客戶端計算機上不需要存在該檔案。
LOAD DATA INFILE 'path of the file/file_name.txt'
IGNORE INTO TABLE employee
通過中間表載入
有時忽略或替換所有重複項可能不是理想的選擇。你可能需要根據其他列的內容做出決策。在這種情況下,最好的選擇是載入到中間表並從那裡轉移。
INSERT INTO employee SELECT * FROM intermediary WHERE ...