關於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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM