4

我已经开始为我的主键使用 GUID,而不是自动递增整数。

但是,在开发过程中,我习惯于查询(从 SQL 管理工作室或 Visual Studio)数据库,以查看我的应用程序刚刚插入了哪些记录,我对无法按主键 desc 排序的事实感到恼火查看最新记录。

有没有办法完成tihs?

4

3 回答 3

5

您不能根据插入顺序对 GUID 列进行排序。您需要依赖另一列。

我的建议是添加一个名为 a 的列CreationMomentDateTime其默认值为GETDATE(). 从理论上讲,您可能会发生冲突(即相同的创建日期/时间),因此您必须确定该数据类型是否合适。根据我的经验,这从来都不是问题。

于 2012-05-08T15:42:49.323 回答
3

您不能,您必须添加具有自动增量功能的新字段 bigint 并依赖,无需将其设为键。bigint 没有碰撞,也没有大小问题

于 2012-05-08T15:48:47.510 回答
2

@Yuck 和 @Sameh 都有很好的答案,但我认为 TIMESTAMP 列更适合您的需求。它保证是唯一的,并且可以使用 ORDER BY 进行排序。

MSDN - 时间戳 (Transact-SQL)

于 2012-05-08T18:42:14.657 回答