2012-09-21 63 views
1

這裏結束LOAD DATA INFILE是SQL查詢我到目前爲止:如何在遇到某一個領域

LOAD DATA INFILE 'filename.csv' 
INTO TABLE zt_accubid 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n' 
IGNORE 4 LINES 

我需要能夠終止一旦遇到value="xyz"場的過程。 這可能嗎?

回答

1

LOAD DATA INFILE沒有這個選項。有一對夫婦workaraounds,雖然

  • 你可以通過操縱該文件第一
  • 正如阿蘭·柯林斯提到解決的MySQL之外的問題,如果列包含您標記具有唯一的值,而你沒有在transcation裏面有LOAD DATA,你可以使用一個唯一的鍵作爲塞子。
  • 您可以在桌上使用觸發器作爲停止
  • 如果標記是附近的表的末尾或開銷並不對你很重要,你可以做一個完整的LOAD DATA到一個臨時經理表,然後使用INSERT INTO ... SELECT只有相關數據進入你的決賽桌
  • 相若方式
  • 你可以加載所有數據,然後刪除irellevant部分
+0

謝謝。我去加載所有的數據,然後刪除不需要的東西。 – cerides

0

當然 - 在加載之前在數據庫中放一行,並在其上放置一個唯一鍵。 LOAD在碰到重複項時應該失敗。

+0

這隻會工作,如果在此列的所有其他值是唯一的! –