关于LOAD DATA INFILE 命令的使用问题解决

时间:2023-03-09 14:28:44
关于LOAD DATA INFILE 命令的使用问题解决

通过LOAD DATA方式将数据导入数据表中

LOAD DATA INFILE '输入文件的路径及文件名' INTO TABLE 要导入表的表名称;

LOAD DATA INFILE 'G:/p.txt' INTO TABLE province;
LOAD DATA INFILE 'G:/p.txt' INTO TABLE province CHARACTER SET utf8 ;

这个命令有几个需要注意的地方:

注意:

(1)       导入txt之前,应当删除字段的表头,否则表头内容也会被当做字段的值导入字段中。

(2)       导入txt之前,应当将txt另存为utf-8格式,否则中文无法导入。

(3)       导入txt之前,一定要将utf-8的文档去BOM头化,否则因为有前导字符串,会导入错误。
如果没有去BOM头,就会在第一行出现以下经过内容,导致内容导入错误:

mysql> SHOW WARNINGS;
+---------+------+--------------------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------------------+
| Warning | 1366 | Incorrect integer value: '?1' for column 'id' at row 1 |
+---------+------+--------------------------------------------------------+
1 row in set (0.00 sec)

关于第一行出错的这个情况,开始我也没想到是BOM头的问题,后来看到了这个帖子 才知道。
去BOM头,可以下载这个小工具:http://www.huacolor.com/soft/80485.html