mySQL Server函数LOAD DATA INFILE产生奇数输出

wko9yo5t  于 2023-01-04  发布在  Mysql
关注(0)|答案(1)|浏览(155)

我正在尝试将. csv文件加载到mySQL Server中。我必须在终端中执行此操作。我导入. csv的过程如下:

  1. mysql〉创建表经销商(经销商ID INT主键,经销商名称VARCHAR(50));
  2. mysql〉加载数据INFILE '/dealer_df. csv '到表经销商字段终止于','忽略1行(经销商ID,经销商名称);
    数据:
1,melodytoyota
2,toyotasunnyvale
3,toyota101
4,sftoyota
5,autonationtoyotahayward
6,hondaofstevenscreek
7,autonationhondafremont
8,sfhonda
9,southbayhonda
10,citytoyota
11,fremonttoyota
12,pierceytoyota
13,larryhopkinshonda
14,andersonhonda
15,honda-rc
16,capitolhonda
17,putnamtoyota

output:(这个格式可能看起来不对,但是你看到的输出和我看到的一样。这也是它在终端中的样子。

mysql> SELECT * FROM Dealers;
+-----------+--------------------------+
| Dealer_ID | Dealer_Name              |
+-----------+--------------------------+
|         1 | melodytoyota
           |
         |2 | toyotasunnyvale
               |yota101
                |oyota
 |        5 | autonationtoyotahayward
     |    6 | hondaofstevenscreek
  |       7 | autonationhondafremont
                 |nda
           || southbayhonda
              |itytoyota
           || fremonttoyota
           || pierceytoyota
       | 13 | larryhopkinshonda
           || andersonhonda
                |da-rc
            | capitolhonda
            | putnamtoyota
+-----------+--------------------------+
17 rows in set (0.00 sec)

我试着在不同的表上用不同的数据执行完全相同的集合,效果很好。
我在找这样的table:

mysql> SELECT * FROM Dealers;
+-----------+--------------------------+
| Dealer_ID | Dealer_Name              |
+-----------+--------------------------+
|          1| melodytoyota             |
|          2| toyotyasunnyvale         |
... etc ...
|         16| capitolhonda             |
|         17| putnamtoyota             |
+-----------+--------------------------+

产出

mysql> SELECT Dealer_ID, hex(Dealer_Name) FROM Dealers;

这里有几行输出。奇怪的格式是我的,表看起来干净的终端。

|         1 | 6D656C6F6479746F796F74610A0D
|         2 | 746F796F746173756E6E7976616C650D
|         3 | 746F796F74613130310D
|         4 | 7366746F796F74610D
|         5 | 6175746F6E6174696F6E746F796F7461686179776172640D
|         6 | 686F6E64616F6673746576656E73637265656B0D

现在我看第三行,看起来所有的文本数据都在那里,但是没有正确显示,这到底是怎么回事?我是个新手,所以我有点不懂。

v440hwme

v440hwme1#

逗号分隔值文件的换行符不一致:
第一行以0A0D(\n\r)结尾,后续行以0D(\r)结尾。
从csv文件的第一行删除0A,另外将LINES TERMINATED BY '\r'附加到LOAD DATA INFILE sql语句。

相关问题