0
我利用LOAD DATA INFILE導入大量CSV文件(〜30 GB)。有一些領域,沒有數據,因此我得到了以下錯誤代碼:LOAD DATA INFILE - mySQL錯誤代碼:1261.行1不包含所有列的數據
Error Code: 1261. Row 1 doesn't contain data for all columns
我寧可不嘗試和編輯CSV文件中第一次由於其大小。我曾嘗試使用DEFAULT NULL重新創建帶有空字段的列的表,但是我仍然收到相同的錯誤。感謝任何幫助解決此問題的方法。
下面是創建表
#c.execute("CREATE TABLE dns_part2_b (date VARCHAR(15), time VARCHAR(25), ip1 VARCHAR(20), ip2 VARCHAR(20), dns VARCHAR(150), arec VARCHAR(10), wsa VARCHAR(10) DEFAULT NULL)")
而且LOAD DATA命令
LOAD DATA INFILE '/Volumes/data/mycsv.csv' INTO TABLE dns_part2_b FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES;
這是一個不完整的記錄的例子:
date,time,ip1,ip2,dns,arec,wsa
2013-07-01,00:00:14.301038+00:00,1.1.1.1,2.2.2.2,domain.com,A
和一個完整的
date,time,ip1,ip2,dns,arec,wsa
2013-07-01,00:00:12.335246+00:00,2.2.2.2,1.1.1.1,WPAD,NB,(WS)
謝謝!
你是說領域的_amount_可以每行有什麼不同? '因爲這確實是'LOAD DATA INFILE'無法爲你解決的問題。通常,_empty_字段不是問題,但_no_字段肯定是。 – Wrikken
字段的數量是靜態的。最後一列偶爾只有數據。 –
你能分享(1)一個完整的行,(2)一個不完整的行(3)你確切的'LOAD DATA'語句和(4)你的表定義?爲您進行調試變得相當容易;) – Wrikken