【问题标题】:Avoid splitting data on commas (within quotation marks) in SQL?避免在 SQL 中以逗号(引号内)拆分数据?
【发布时间】:2022-11-28 06:36:48
【问题描述】:

我正在尝试将 .csv 文件加载到 MySQL 表中,但遇到以下错误消息:“错误 1262 (01000):第 304 行被截断;它包含的数据多于输入列。”

这是我正在使用的代码:

LOAD DATA INFILE 'my_taxpayers.csv'
INTO TABLE taxpayers
FIELDS ENCLOSED BY '"'
TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

我在下面粘贴了第 304 行,即导致问题的第一行。该行对应的列标题是

PARCEL, TAXPAYER, ADDRESS_1, ADDRESS_2, CITY, STATE, ZIP, COUNTRY, ROLE_PERCENTAGE and IN_CARE_OF.  
*00.000366,"BUNNEY, GARY LEE",40 E TRENT,,SPOKANE,WA,99202,,100.0,**"CAROL LUNDY, 1ST AMERICAN"***

当数据遇到 "CAROL LUNDY, 1ST AMERICAN""BUNNEY, GARY LEE" 时,它似乎正在分裂(我不希望这样)。我认为 ENCLOSED BY '"' 应该可以解决这个问题,所以我被卡住了。

有关更多上下文,这里有一些 .csv 文件的随机行,它们不会导致任何问题。

00.000102,ANITA'S DAPPER DOGS,727 E 32ND AVE,,SPOKANE,WA,99203,,100.0,ANITA ANN SYKES
00.000103,"MKY INVESTMENTS, INC",9508 N DIVISION ST,,SPOKANE,WA,99218,,100.0,MARK & KAREN YOO
00.000104,COUNTY RECORD'S PUBLISHING CO,503 E ERMINA AVE,,SPOKANE,WA,99207,,100.0,JILL MARIE BUSWELL
00.000105,DANCAR MECHANICAL INC,311 N HODGES RD,,SPOKANE VALLEY,WA,99016,,100.0,DANIEL F SCHROER
00.000106,ARTHUR ARMS ADULT FAMILY HOME,652 S ARTHUR ST,,SPOKANE,WA,99202,,100.0,ANTHONY R JONES

【问题讨论】:

  • **是数据的一部分吗?
  • 您必须使用 OPTIONALLY ENCLOSED。

标签: mysql csv load-data-infile truncated


【解决方案1】:

问题是我需要做

由 ' 终止的行 '

添加“r”可以解决所有问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 2011-12-25
    相关资源
    最近更新 更多