【问题标题】:Add values to an identity(1,1) column in SQL Server向 SQL Server 中的 identity(1,1) 列添加值
【发布时间】:2020-05-28 16:52:26
【问题描述】:

我有两张桌子:

CREATE TABLE project.teacher 
(
    PROFESSOR_Codigo SMALLINT IDENTITY( 100, 1),
    birth            DATE NOT NULL,
    phone            VARCHAR(15)
);

CREATE TABLE project.student
(
    STUDENT_Codigo IDENTITY( 1, 1),
    birth          DATE NOT NULL,
    phone          VARCHAR(15)
);

当我将一个学生添加到学生表时,它会从数字 1 增加 1,并保持 (1, 2, 3, 4, 5, 6, ...)

在教师表中我已经输入了数据,并在标识列中以值 100 开头,但是当我加 1 时,它得到标识 1,而不是 101

我什么都试过了,scope_identity()@@identity,但我做不到!有人有什么想法吗?

如何在教师表中插入一行:

INSERT INTO project.student 
VALUES ('1998-05-08', '963597461');

INSERT INTO project.teacher
VALUES ('1994-05-09', '968413692');

【问题讨论】:

  • "我已经尝试了所有方法,scope_identity (), @@ identitty" - 这让我想知道您到底在做什么来插入行,因为它们无法帮助您设置身份价值。你能分享一下插入的代码吗?
  • 已经更新
  • 为什么这个标签是 c#?
  • 因为我正在调用 wpf,但已经删除了

标签: sql sql-server database sql-insert


【解决方案1】:

试试

dbcc checkident(teacher, noreseed)

这将返回 ident 列的当前标识值。您的创建语句很好,所以创建时可能出现问题?

【讨论】:

  • 给我那个:“检查身份信息:当前身份值'2',当前列值'104'”
  • 那么这就是你的答案。该表设置为从种子 100 开始,但当前种子为 2。重置种子使用 dbcc checkident(teacher, reseed, 101)
  • reseed 值设置将给出下一个值的值。重新种子为 100,第一个插入将给出 id 101。我不知道你想从什么开始。从检查 ident id 说 104
  • 好的,没错,我删除了表并再次创建它,它工作。谢谢你,我说,从 105 开始,这就是给我的价值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-17
  • 2013-01-21
  • 2021-01-14
  • 2012-01-29
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
相关资源
最近更新 更多