错误1265(01000):第1行的列''的数据被截断

时间:2019-07-08 20:43:52

标签: mysql

当我尝试使用linux控制台将名为“ Table.csv”的表导入到MYSQl数据库时,它显示以下消息,错误1265(01000):第1行的“ factor”列的数据被截断了

这是我先前创建的表内容的描述:

+---------------------+---------+------+-----+---------+-------+
| Field               | Type    | Null | Key | Default | Extra |
+---------------------+---------+------+-----+---------+-------+
| degrees             | int(11) | YES  |     | NULL    |       |
| percentage          | double  | YES  |     | NULL    |       |
| factor              | double  | YES  |     | NULL    |       |
+---------------------+---------+------+-----+---------+-------+

这是显示纯文本文件中显示的仅用逗号“,”分隔的数据的方式:

1,0.35,1     
2,0.10,3.0787
1,0.55,4.32

这是我当前输入的句子:

LOAD DATA INFILE '/var/lib/mysql-files/tabla.csv' INTO TABLE Student FIELDS 
TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

在这种情况下,应该没有问题,因为表以其标题中的值开头,因为我省略了IGNORE 1 LINES语句;

我附上我检查更多问题的信息:

https://dev.mysql.com/doc/refman/8.0/en/load-data.html

1 个答案:

答案 0 :(得分:1)

在验证了数据的结构方式和 CSV 文件的存储方式之后,应使用的句子对应于:

加载数据本地 INFILE'/var/lib/mysql-files/table.csv'插入表学生字段,以','可选以'“以'\ n'结尾的行;

应注意数据的类型,数据的长度以及是否包含某些内容,在这种情况下,所有字段均用 NULL 填充,因此必须将其替换为 NOT NULL 字段。