mysql错误选择输出

标签 mysql sql select

我使用命令创建表:

CREATE TABLE genre(
    genre_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(20) NOT NULL
);

然后我使用命令用数据填充表格:

load data infile 'D:/MySQL/.../genres.txt' into table genre(name);

每行一条记录

当我尝试使用命令将表格内容打印到终端时出现问题:

select * from genre;

输出:

 +----------+--------------+
 | genre_id | name         |
 +----------+--------------+
 |       1 | alternative
   | 2 | blues
 |   3 | classic
 |   4 | country
   | 5 | dance
 |   6 | electro
    |7 | folk
     | | pop
     | | rap
    |0 | jazz
  | 11 | latino
   |12 | opera
     | | r&b
  | 14 | reagge
    |5 | rock
 |       16 | metal        |
   |
 +----------+--------------+

(竖条也打印错了)

有谁知道为什么第一列的输出打印错了?我是 mysql 初学者,如果这是一个愚蠢的问题,我很抱歉。

文件内容:

alternative
blues
classic
country
dance
electro
folk
pop
rap
jazz
latino
opera
r&b
reagge
rock
metal

最佳答案

评论太长了。

genre_id 列自动递增。因此,当向表中插入一行时,该列会获得一个值。就这么简单。

您的行似乎没有 genre_id。这是不可能的。该列被声明为整数,它不能采用 NULL 值。因此,对于每个插入的行,您都会看到一些值。

结论是看起来缺少 genre_id 的行实际上根本不是单独的行。相反,它们是嵌入了换行符或回车符的单行,这些字符会扰乱输出。如果您使用的是基于 Unix 的系统,则可以使用 od(八进制转储)来查看文件的内容。可能有一些正确的行终止符可以解决这个问题。

关于mysql错误选择输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22598732/

相关文章:

javascript - JQuery:如何获取在选择器中选择的内容

php - 将 whereIn 与 Laravel 中单独查询的值一起使用

mysql - facebook group 相似的数据库设计和外键

mysql - 如何解决Mysql排序错误?

sql - TSQL - 如何进行 URL 编码

jquery - 如何使用 d3.js 和 javascript 、 jquery 选择和取消选择 svg 线并更改选择和取消选择时的颜色?

mysql - 备份 Ruby on Rails 应用程序和 MySQL 数据库的干净且简单的方法是什么?

php - PDO 循环中的循环 - 如何使其正确?

php - 使用sql检查特定时间的餐厅表可用性

mysql - 如何从表中选择 table_name 并加入 mysql 中的表?