2010-11-16 72 views
0

查詢:load data infile 'systemmessage.txt' ignore into table systemmessage (message) lines starting by 'a,' terminated by '\0' ignore 1 lines加載數據INFILE語法錯誤

給我一個語法錯誤附近'行開始'。 如果我刪除'開始'部分,現在錯誤與'終止'。如果我也刪除它,錯誤是'忽略1行'。 地獄是什麼問題?該文件存在,該表存在,如果我刪除它加載的所有檢查,但是有錯誤的數據。

+0

準備再次你systemmessage.txt要嚴格遵循MySQL的規範 - http://dev.mysql.com/doc/refman/5.1/en/load-data.html – ajreal 2010-11-16 17:56:33

+0

OMG的問題不是出在systemmessage 。文本!這是一個SQL語法錯誤!我準備好用這個令人難以置信的愚蠢問題來解決問題,並且你建議我在過去的幾個小時內讀過幾百次的東西!無論如何,我終於設法通過這個,但比過去一週浪費更多的神經... – jurchiks 2010-11-16 18:12:42

+0

你應該只是愚蠢的證明你的systemmessage.txt是100%符合mysql規範,你嘗試只插入一行(單記錄),以確保至少它將工作1線? – ajreal 2010-11-16 18:43:54

回答

1

您只需將列列表移動到SQL語句的末尾即可。

由於手冊中描述的那樣,格式信息(行開始通過,跳過1行,等等)需要(可選的)列列表之前被指定:

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

這裏的固定查詢:

load data infile '/tmp/systemmessage.txt' 
ignore into table systemmessage 
lines starting by 'a,' 
terminated by '\0' 
ignore 1 lines 
(message)