【发布时间】:2012-05-08 15:41:02
【问题描述】:
我已经开始为我的主键使用 GUID,而不是自动递增整数。
但是,在开发过程中,我习惯于查询(从 SQL 管理工作室或 Visual Studio)数据库,以查看我的应用程序刚刚插入的记录,但我对无法按主键排序的事实感到恼火desc 以查看最近的记录。
有没有办法实现?
【问题讨论】:
-
即使有身份,您实际上也永远无法知道插入顺序,因为较长的插入过程可能意味着 5 在 6 之后被实际插入。如果您想知道插入顺序,请添加一个 dateInserted 列getdate() 的默认值。 GUID 作为主键也是一个问题,原因有很多,请研究一下。您可能需要考虑使用 NEWSEQUENTIALID() 来生成 GUID
-
@HLGEM - 使用
SysUTCDateTime()值可以减少在更改夏令时发生的一些混乱。 -
所以,我认为简短的回答是否定的 :( 正如我所说,它只在开发过程中很重要,所以我可以假设最大的 id 是最新的。同样代表时间戳. 我很清楚它不一定是独一无二的,但对于开发人员来说肯定会这样做。
标签: sql-server primary-key guid