如何从SqlCe DB获取下一个可用的主键?

时间:2010-10-13 21:33:52

标签: .net sql sql-server-ce

如何从表中获取下一个可用的主键? 主键是数字。我正在使用C#。

1 个答案:

答案 0 :(得分:1)

*我的答案基于MS SQL的知识,而不是CE

嗯,错误的方法是取出键列的最大值并为其添加1 ...然后祈祷它不会被其他进程或程序同时插入记录: d

我假设您正在尝试为插入创建下一个键?如果是这样,您应该使用“身份”字段,该字段将在没有您干预的情况下自行更新。否则:

SCOPE_IDENTITY()是否可用?在上一次插入后使用它(必须是相同的范围)以获取插入的id。这只是为了找出放入的id,你真的不应该把id放在自己身上。

IDENT_CURRENT('tablename')将为您提供最后使用的ID,无论范围如何(您当前批处理的SQL命令)。

@@ IDENTITY将为您提供为当前数据库连接插入的最后一个ID ...请特别小心使用。

more detail