【问题标题】:How to get the next available primary key from a SqlCe DB?如何从 SqlCe DB 中获取下一个可用的主键?
【发布时间】:2010-10-13 21:33:51
【问题描述】:

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

【问题讨论】:

  • 这是插入记录后吗?
  • @OMG Ponies,不,我想插入一条记录,它说需要一个主键

标签: .net sql sql-server-ce


【解决方案1】:

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

好吧,错误的方法是取键列的最大值并将其加 1...然后祈祷它不会被其他进程或程序占用,这些进程或程序也与您同时插入记录: D

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

SCOPE_IDENTITY() 可用吗?在您之前的插入之后立即使用它(必须是相同的范围)以获取插入的 id。那只是为了找出输入的id,你真的不应该在自己里面输入id。

IDENT_CURRENT(‘tablename’) 将为您提供最后使用的 id,无论范围如何(您当前的一批 SQL 命令)。

@@IDENTITY 将为您提供为您当前的数据库连接插入的最后一个 id...请谨慎使用。

more detail

【讨论】:

    猜你喜欢
    • 2021-05-06
    • 2016-01-29
    • 2018-11-05
    • 2022-09-23
    • 1970-01-01
    • 2015-11-14
    • 2022-01-04
    • 1970-01-01
    • 2017-05-20
    相关资源
    最近更新 更多