什么是最好的,独立于DBMS的生成ID号的方法,将立即在INSERT语句中使用,保持ID大致按顺序排列?
DBMS独立?那是个问题.两种最常用的方法是自动递增列和序列,大多数DBMS执行一个或另一个但不是两个.因此,与数据库无关的方法是使另一个表具有一个列,其中一个值可以锁定,选择,更新和解锁.
通常我会说"与DBMS独立地狱"并使用PostgreSQL中的序列或MySQL中的自动增量列来实现.就我的目的而言,支持两者比试图找到一种适用于所有地方的方法更好.
如果您可以使用所选的编程语言创建全局唯一标识符(GUID) - 请将其视为您的ID.
它们在故障排除时更难处理(在where
INT条件下输入更容易),但也有一些优点.通过在本地分配GUID作为您的密钥,您可以轻松地构建父子记录关系,而无需先将父项保存到数据库并检索ID.而且由于GUID根据定义是唯一的,因此您不必担心在服务器上增加密钥.