将数据插入sqlserver 2000数据库,顺序改变,为什么?

时间:2010-01-13 07:09:59

标签: sql mysql sql-server

将200个数据通过for循环插入sqlserver 2000数据库,顺序改变,为什么?

当我使用mysql时,它没有问题。

我的意思是:

当你插入2,然后插入3,然后插入1,在mysql中你会看到2,3,1喜欢你插入的顺序。但在sqlsever2000中可能没有。

4 个答案:

答案 0 :(得分:8)

存储行的顺序并不重要。实际上SQL表没有任何排序。如果订单对您很重要,则需要使用ORDER BY子句进行查询。

答案 1 :(得分:3)

除非您添加ORDER BY子句,否则不会保证select语句的结果顺序。您可能会按插入顺序返回结果,但不能保证。

答案 2 :(得分:1)

如果表格上有索引,您的数据可能会以您不期望的方式进行排序。通常,您只需要一个标识列作为您的代理主键,这意味着如果您只执行select *,您插入的数据将以“顺序”显示,但如果您在其他列上有索引,则数据可能会以不同方式排序当你选择*。

答案 3 :(得分:0)

您可以通过在列上创建聚簇索引来控制物理排序。每个表只允许一个聚簇索引。群集索引确保在执行SELECT时始终按照创建群集索引时定义的顺序获取数据。