Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql>;错误1265:列';的数据被截断;xxx和x27;在第一排_Mysql_Csv_Import - Fatal编程技术网

mysql>;错误1265:列';的数据被截断;xxx和x27;在第一排

mysql>;错误1265:列';的数据被截断;xxx和x27;在第一排,mysql,csv,import,Mysql,Csv,Import,我正在尝试将csv文件导入mysql数据库的表中。该表有141列,数据类型为INT,VARCHAR(20),TIMESTAMP,TIMESTAMP,然后是一系列TINYTEXTs和VARCHAR(4)s 我在数据类型为VARCHAR(4)的列上得到了7个数据截断错误,这些列的数据不超过4个字符 我试图强迫它继续使用忽略,但随后它变得疯狂,将来自其他单元格的数据切碎成碎片,并将它们分散在整个表中 我正在使用MS 2008 R2服务器上的命令行来运行SQL,csv文件位于Db的目录中 顺便说一句,我

我正在尝试将csv文件导入mysql数据库的表中。该表有141列,数据类型为
INT
VARCHAR(20)
TIMESTAMP
TIMESTAMP
,然后是一系列
TINYTEXT
s和
VARCHAR(4)
s

我在数据类型为
VARCHAR(4)
的列上得到了7个数据截断错误,这些列的数据不超过4个字符

我试图强迫它继续使用
忽略
,但随后它变得疯狂,将来自其他单元格的数据切碎成碎片,并将它们分散在整个表中

我正在使用MS 2008 R2服务器上的命令行来运行SQL,csv文件位于Db的目录中

顺便说一句,我确实读过其他几篇关于mysql+导入或mysql+数据截断(1265)的帖子和谷歌搜索结果,但它们似乎没有涵盖这一特定问题

谢谢

编辑:我很确定它与
加载数据
函数有关,因为如果我
一次插入一行,它就可以正常工作

我的导入sql是:

LOAD DATA INFILE '2011-09.csv' IGNORE INTO TABLE `survey`.`2011-09` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';

在插入
的过程中,MySQL会告诉您是否有太多的列。但是MySQL显然不是很友好:在
加载
过程中,它不会告诉你列是否太多。

插入
过程中,MySQL会告诉你列是否太多。但是MySQL显然不是很友好:在
加载过程中,它会告诉你是否有太多的列。

100+varchar/text列,你在这个表中存储了什么?闻起来像是120个问题的调查结果。他们以前有一个包含628个文本列的表;不用说有很多废话。VARCHAR列使用的字符编码是什么?每个问题一列听起来很奇怪/代码味道。在DB中的单独问题表中,每个问题有一行,您可能会看到一些好处。如果您正在重构,现在可能是进行重大更改的好时机。只需一个think.UTF8(与表默认值相同)100+varchar/text列,您在该表中存储了什么?闻起来像是120个问题的调查结果。他们以前有一个包含628个文本列的表;不用说有很多废话。VARCHAR列使用的字符编码是什么?每个问题一列听起来很奇怪/代码味道。在DB中的单独问题表中,每个问题有一行,您可能会看到一些好处。如果您正在重构,现在可能是进行重大更改的好时机。只是一个think.UTF8(与表默认值相同)