首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库中的AutoNumber ID

数据库中的AutoNumber ID
EN

Stack Overflow用户
提问于 2019-04-11 05:11:42
回答 2查看 227关注 0票数 0

当数据插入数据库时,"ID“列是自动编号。我试过这个:

代码语言:javascript
复制
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int IdMema { get; set; }
public string Autor { get; set; }
public int? Like { get; set; }
public int? Dislike { get; set; }

属性"Memy“表:

代码语言:javascript
复制
CREATE TABLE [dbo].[Memy] (
    [Id_mema] INT  NOT NULL IDENTITY,
    [autor]   TEXT NULL,
    [like]    INT  NULL,
    [dislike] INT  NULL,
    PRIMARY KEY CLUSTERED ([Id_mema] ASC)
);

当我尝试插入数据时,我看到:

"SqlException:当IDENTITY_INSERT设置为OFF时,不能在表'Memy‘中插入标识列的显式值。“

如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2019-04-11 05:32:06

您有自动增量字段Id_mema.自动增量设置为同一性关键字.例外说:

SqlException:当IDENTITY_INSERT设置为OFF时,不能在表'Memy‘中插入标识列的显式值。

当您将数据插入到表中时,无法给标识字段赋值。DB引擎给出了Id_mema-field的值(自动增量0,1,2,3.)

以下内容应该有效(直接sql):

代码语言:javascript
复制
INSERT INTO MEMY(autor, like, dislike) values ('text',1,0)

对于实体框架,请确保不要在代码中设置Id_mema

票数 1
EN

Stack Overflow用户

发布于 2019-04-11 05:56:11

在插入下面的值时,不需要传递Id_mema值。

代码语言:javascript
复制
INSERT INTO MEMY values ('kamilm',10,5);

如果不想自动递增列,那么将DatabaseGeneratedOption.Identity更改为DatabaseGeneratedOption.None,它将允许您在Id(Key)列中插入值。

代码语言:javascript
复制
 [Key]
 [DatabaseGenerated(DatabaseGeneratedOption.None)]
 public int IdMema { get; set; }
 public string Autor { get; set; }
 public int? Like { get; set; }
 public int? Dislike { get; set; }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55625165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档