0

如何按创建顺序查询数据?

我在此表中没有创建日期的字段。

4

3 回答 3

7

如果您没有存储插入时间或任何其他有关插入顺序的元数据的字段,则没有可靠的方法来获取此信息。

您可能依赖于聚集索引键,但不能保证这些。IDENTITY字段或其他自动生成的字段都不是。

澄清一下,一个IDENTITY字段会自动递增,但是......

  • 您可以插入显式值IDENTITY_INSERT
  • 您可以重新设定种子并开始重用值
  • 身份字段没有内置的唯一性强制执行

如果 ID 字段是您的 PK,您可能可以使用它来大致了解一下:

SELECT *
FROM MyTable
ORDER BY IdField ASC

根据您的评论,该字段是GUID. GUID在这种情况下,由于s 本质上是随机且非顺序的,因此无法返回任何可靠的顺序。

于 2012-07-10T15:56:00.810 回答
0

您可以使用 NEWSEQUENTIALID()。

于 2012-07-11T06:48:56.597 回答
0

我遇到了这个问题,因为我面临同样的问题,这是对我有用的解决方案。

更改表并添加一IDENTITY(1,1)列,当您添加它时,该标识列将自动填充现有行。它将按照插入记录的顺序排列。

它适用于我的情况,但不确定它是否适用于所有情况。

于 2018-01-20T12:27:49.860 回答