2010-11-12 72 views
0

當我嘗試使用這個SQL語句:如何解決LOAD DATA INFILE問題

LOAD DATA INFILE 'url/file.txt' 
IGNORE 
INTO TABLE myTbl 
FIELDS TERMINATED BY '|' 
LINES TERMINATED BY '\n' 
(SPEC, PERSON, BLAH, BLUH) 

我得到這個錯誤:無效的SQL語句;預期'DELETE','INSERT','PROCEDURE','SELECT'或'UPDATE'。我正試圖插入到訪問數據庫。任何關於如何讓這個LOAD DATA INFILE工作的線索?

同樣的錯誤也會出現我BULK INSERT嘗試

+0

正如您在其他線程中提到的那樣,這是一個MySQL特定的命令。你不能在MS Access中使用它。 – Leigh 2010-11-12 19:02:24

+0

我打算需要一個schema.ini文件來將帶有非標準分隔符的文件加載到使用SQL的Access中,我估計。 – Fionnuala 2010-11-12 19:48:54

+0

@Remou - 這就是我的想法。 Access認爲哪些分隔符是標準的:逗號和製表符? – Leigh 2010-11-12 20:44:09

回答

1

(如已經提到的這是一個特定於MySQL的命令,所以MS Access不會理解它。)

MS Access是一個桌面數據庫。所以它的工具不如企業數據庫那麼強大。它支持使用IN external database動態讀取csv文件。但我相信只適用於.csv(也可能是製表符分隔)文件。對於其他格式,您需要使用schema.ini文件。

http://office.microsoft.com/en-us/access-help/select-statement-HP001032265.aspx

INSERT INTO OtherTable (Columns) 
SELECT Columns... 
FROM tableexpression [, ...] [IN externaldatabase] 

除了做一個INSERT很長的路要走(逐行),這是我所知道的的MS Access的唯一選擇。

1

這些都是爲MySQL命令。你不能在訪問中使用它們。