表不是以相同的顺序mySQL

我使用load data local infile命令将一个csv文件加载到mySQL中。 当我查看表格时,行的顺序与csv文件不同。 有没有办法让他们在同一个秩序。

在关系数据库表中没有任何固有的“订单”。 如果要以特定顺序查看行,则应在SELECT语句中使用ORDER BY子句。 如果您正在通过某个用户界面查看数据,则由用户界面来提供该function(或不提供)。

SQL表格表示无序集合。 没有sorting。 有一个技巧,但是。 我假设你正在使用load data infile 。 定义你的表有一个自动递增的标识列:

 create table . . . ( tableId int auto_increment primary key, . . . ); 

然后,当您将文件中的数据加载到表中时,可以列出tableId (或适当的字段) 之外的所有字段。 并明确使用set testId = NULL

然后您可以使用以下方式访问表格:

 select t.* from tt order by tableId; 

不幸的是,我从来没有发现文件,这是保证按照插入顺序递增ID。 不过,我相信它在实践中是有效的。