我正在将文件导入 MYSQL,如下所示:
LOAD DATA LOCAL INFILE 'C:\\Users\\Justin.Mathieu\\Documents\\data.csv' into table Ingredients
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\n'
(iVendor, iName, iOrderNumber, iCaseQty, iUnitSize, iDrainSize, iUnitSoldBy, iCaseCost, iVolumeConversion, iUnitLabel, iIngredients)
以及一些导入数据的样本:
VendorName,"Apple Whole Peeled Cored Grd A Fz",61318,1,\N,\N,\N,38.17,\N,\N,\N
VendorName,"Apples- Applesauce Sweetened",10738,6,\N,\N,-1,24,\N,\N,\N
VendorName,"Applesauce Unswtn Fancy",10676,6,106,\N,-1,23.97,\N,\N,"Apples, Water, Erythorbic Acid (To Maintain Color)"
VendorName,Apron 24"X42" White Reg Wt - Dispenser ,81463,1,\N,\N,\N,9.98,\N,\N,\N
VendorName,"Artichoke Heart 40-50Cnt Quartered, Marintated",10722,6,88,\N,-1,71.46,\N,,"Artichoke Hearts, Vegetable Oil (Soya Or Sunflower), Water, Vinegar"
VendorName,"Artichoke Heart Crse Ct",77334,6,\N,55,\N,49.16,\N,\N,\N
VendorName,"Artichoke Heart Quarters",11804,6,\N,\N,-1,62.46,\N,\N,"Artichoke Hearts, Water, Salt And Citric Acid"
VendorName,"Artichoke Quarters Mixed Cuts",D6808,6,\N,\N,\N,60.26,\N,\N,\N
VendorName,"Bacon Bit Real Ref",56188,2,\N,\N,\N,51.22,\N,\N,\N
VendorName,"Barley Pearled Dry Us #1 Standard",33050,2,\N,\N,\N,21.38,\N,\N,\N
第一个问题是使用\N。在导入后查看我的数据库时,我没有得到空值,而是在 iIngredients 字段中得到“N”。
第二个问题是大多数行没有被导入,这是我得到的错误示例:
164 row(s) affected, 64 warning(s):
1262 Row 3 was truncated; it contained more data than there were input columns
1262 Row 5 was truncated; it contained more data than there were input columns
1262 Row 9 was truncated; it contained more data than there were input columns
1262 Row 10 was truncated; it contained more data than there were input columns
1262 Row 11 was truncated; it contained more data than there were input columns
1262 Row 12 was truncated; it contained more data than there were input columns
Records: 164 Deleted: 0 Skipped: 0 Warnings: 94
我已经验证每一行都有任何可能包含逗号的数据,这些逗号被包裹在“”中。
任何想法可能会发生什么?
编辑:我能够解决 \N 问题,只需将 "" 用于字符串行,将 \N 用于非字符串行。
编辑 2:在被截断的行中,iIngredients 字段包含下一行的所有数据,就好像它没有检测到以“.