MySQL错误1265:数据截断列'名称'排#

时间:2015-11-19 05:45:34

标签: mysql

我正在尝试读取一个文件并将其中的数据用于我的一个表。但是,我收到错误说明:ERROR 1265(01000):数据截断列' ERA'在第1行。

我理解错误意味着什么 - 数据对于数据类型来说是大的。但是,列' ERA'是.txt文件中第一行的最后一条信息。 (下面的.txt文件中有什么内容。)

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

当我从文件中加载多行数据时,我才会收到错误。

我认为它与读取Enter Key值有关,但我不知道如何修复它是可读的。是否需要在文件的每一行末尾添加一些内容?如果是这样,是什么?

(请注意我:我只是暂时学习MySQL以超越我生命中的某一点。我只有初学者的知识,因为我不打算将来使用它。所以如果我需要在MySQL中做一些特殊的事情来解决这个问题,请给出一个明确的例子。至少有足够的信息可以让我向Google提供更多的例子)

.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

(关于文件的注意事项:在实际文件中,每行之间没有空格,因为它看起来不是双倍的。在每行的末尾,在文件中按下输入。每个数据都是一个标签(看起来很好)。如果文件也与它有关,那么该文件将从记事本中保存。)

表统计数据:

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 |

3 个答案:

答案 0 :(得分:0)

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

LOAD DATA INFILE 'file_location' INTO TABLE table_name 
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n';

答案 1 :(得分:-1)

检查数据中该特定列和行的值。可能存在数据类型不匹配,将其更改为其他数据类型。

答案 2 :(得分:-2)

检查数据库中的查询值。 表列字段和插入值中的数据类型可能不匹配。 例如,列字段的数据类型是double,然后如果您插入了成功插入的浮点值,但它给出了错误1265,其中描述了“第1行的列'XXXX'数据被截断”。