MySQL 错误 1265:第 # 行的列“名称”的数据被截断

Uul*_*ock 3 mysql

我正在尝试读取一个文件并将其中的数据用于我的一个表。但是,我收到错误消息:ERROR 1265 (01000): Data truncated for column 'ERA' at row 1。

我明白错误意味着什么 - 数据对于数据类型来说太大了。但是,“ERA”列是 .txt 文件中第一行的最后一条信息。(下面的 .txt 文件中有什么)。

所以我通过在第一行手动输入相同的信息来测试它。它接受数据就好了。所以我删除了手动添加的行,然后尝试从 .txt 文件中只加载 1 行。这奏效了。

当我有超过 1 行数据要从文件加载时,我只会收到错误消息。

我认为它与读取 Enter Key 值或其他东西有关,但我不知道如何修复它以使其可读。是否需要在文件中每一行的末尾放置一些东西?如果是这样,是什么?

(关于我的注意事项:我只是暂时学习 MySQL 以度过我生命中的某个时刻。我只有初学者的知识,因为它不是我将来使用它的计划。所以如果有什么特别的我必须在 MySQL 中做来解决这个问题,请给出一个明确的例子。至少有足够的信息让我谷歌更多的例子)

.txt 文件的内容:

Arizona Diamondbacks    1998    1819    914 905 1   1   8379    62131   16137   1933    .260    8422    4.26

Atlanta Braves  1876    19764   9786    9825    17  3   88243   677310  176434  12203   .260    87693   3.65

Baltimore Orioles   1901    16861   7965    8786    7   26  72633   572146  148197  11335   .259    77029   3.99

Boston Red Sox  1901    16848   8657    8108    12  7   77981   575510  153781  11671   .267    75352   3.88

Chicago Cubs    1876    19796   10103   9537    16  2   91616   678492  178828  12479   .264    88269   3.66

Chicago White Sox   1901    16855   8476    8276    6   3   73603   570404  148833  9662    .261    72730   3.73

Cincinnati Reds 1882    19382   9766    9480    10  5   87300   661241  173334  11533   .262    86119   3.71

Cleveland Indians   1901    16863   8571    8201    5   2   76441   575356  153431  11338   .267    74685   3.82

Colorado Rockies    1993    2565    1203    1362    1   0   13426   88540   24687   2944    .279    14085   5.17

Detroit Tigers  1901    16885   8497    8295    10  4   78163   575699  152746  12050   .265    77194   3.96

Florida Marlins 1993    2561    1214    1347    2   2   11353   87282   22744   2392    .261    12150   4.39

Houston Astros  1962    7526    3754    3766    1   0   31521   255339  65127   5533    .255    31387   3.75
Run Code Online (Sandbox Code Playgroud)

(关于文件的注意事项:在实际文件中,每行之间没有空格,因为它看起来不是双倍行距。在每行的末尾,在文件中按回车键。每个数据之间的空格是一个制表符(这似乎没问题。如果这也与记事本有关,该文件将从记事本中保存。)

表统计:

Field | Type | Null | Default |

<------------------------------------------------->

Team | varchar(50) | YES | NULL |

FirstYear | int(11) | YES | NULL |

G | int(11) | YES | NULL |

W | int(11) | YES | NULL |

L | int(11) | YES | NULL |

Pennants | int(11) | YES | NULL |

WS | int(11) | YES | NULL |

R | int(11) | YES | NULL |

AB | int(11) | YES | NULL |

H | int(11) | YES | NULL |

HR | int(11) | YES | NULL |

AVG | float | YES | NULL |

RA | int(11) | YES | NULL |

ERA | float | YES | NULL |
Run Code Online (Sandbox Code Playgroud)

Jac*_*ert 7

最有可能发生的是,默认命令期望终止字符'\n'是真正的'\r\n'; 试试这个命令:

LOAD DATA INFILE 'file_location' INTO TABLE table_name 
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n';
Run Code Online (Sandbox Code Playgroud)