我已经开始为我的主键使用 GUID,而不是自动递增整数。
但是,在开发过程中,我习惯于查询(从 SQL 管理工作室或 Visual Studio)数据库,以查看我的应用程序刚刚插入了哪些记录,我对无法按主键 desc 排序的事实感到恼火查看最新记录。
有没有办法完成tihs?
我已经开始为我的主键使用 GUID,而不是自动递增整数。
但是,在开发过程中,我习惯于查询(从 SQL 管理工作室或 Visual Studio)数据库,以查看我的应用程序刚刚插入了哪些记录,我对无法按主键 desc 排序的事实感到恼火查看最新记录。
有没有办法完成tihs?
您不能根据插入顺序对 GUID 列进行排序。您需要依赖另一列。
我的建议是添加一个名为 a 的列CreationMoment
,DateTime
其默认值为GETDATE()
. 从理论上讲,您可能会发生冲突(即相同的创建日期/时间),因此您必须确定该数据类型是否合适。根据我的经验,这从来都不是问题。
您不能,您必须添加具有自动增量功能的新字段 bigint 并依赖,无需将其设为键。bigint 没有碰撞,也没有大小问题
@Yuck 和 @Sameh 都有很好的答案,但我认为 TIMESTAMP 列更适合您的需求。它保证是唯一的,并且可以使用 ORDER BY 进行排序。