加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – @@ identity是否返回主键或标识字段?

发布时间:2020-12-15 19:36:05 所属栏目:百科 来源:网络整理
导读:我的问题是我在SQL视图(MS SQL 2005)上有更新触发器,我在C#中映射到LINQ to SQL实体… 我的SQL看起来是正确的,但它抱怨尝试将空值插入到辅助表PK字段中. 我认为我的问题涉及将主键和标识作为主表中的单独字段.所以我的问题是这个….当使用@@ identity时,它是
我的问题是我在SQL视图(MS SQL 2005)上有更新触发器,我在C#中映射到LINQ to SQL实体…

我的SQL看起来是正确的,但它抱怨尝试将空值插入到辅助表PK字段中.

我认为我的问题涉及将主键和标识作为主表中的单独字段.所以我的问题是这个….当使用@@ identity时,它是否会查看插入行的主键,还是看到指定了“IDENTITY”的字段?

解决方法

@@ IDENTITY仅返回上一次插入的标识值.它不知道该值是否在主键列中使用,或者即使它对于给定列是唯一的.您应该使用SCOPE_IDENTITY(),而不是使用@@ IDENTITY,尤其是在您有触发器的情况下. @@ IDENTITY只关心具有IDENTITY属性的列(表中只能有一个).表是否具有主键以及PK是否为标识列没有区别.

有关更多信息,请参见SCOPE_IDENTITY

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读