增加group指定的id

时间:2017-01-03 14:34:27

标签: database

我有一张桌子,我想让每个人指定其身份

这是我到目前为止所做的:

CREATE TABLE [dbo].[Duiken] (
[Duik_nr]          INT           IDENTITY (1, 1) NOT NULL,    // ID
[datum]            DATE          NULL,
[naam]             VARCHAR (50)  NOT NULL,                    // Person
[buddy]            VARCHAR (50)  NULL,
[locatie]          VARCHAR (50)  NULL,
[zicht]            INT           NULL,
[lucht_temp]       INT           NULL,
[water_temp]       INT           NULL,
[fles_Groote]      VARCHAR (50)  NULL,
[duik_tijd]        INT           NULL,
[max_duik_diepte]  INT           NULL,
[lucht_in]         INT           NULL,
[lucht_uit]        INT           NULL,
[lucht_verbruik]   AS            ([lucht_in]-[lucht_uit]),
[lood]             INT           NULL,
[oefenduik]        BIT           NULL,
[recreatieve_duik] BIT           NULL,
[zoetwater_duik]   BIT           NULL,
[zoutwater_duik]   BIT           NULL,
[stilstaand_water] BIT           NULL,
[stromend_water]   BIT           NULL,
[nacht_duik]       BIT           NULL,
[nitrox_duik]      BIT           NULL,
[zonnig]           BIT           NULL,
[bewolkt]          BIT           NULL,
[regen]            BIT           NULL,
[Opmerkingen]      VARCHAR (MAX) NULL,
PRIMARY KEY ([naam],[Duik_nr])

);

但是当我在新名称上添加新记录时,它会继续使用表中的最高ID。

the result im getting now

所以“测试”的人也应该从ID 1而不是53开始。

类似的东西:

+----+------+
| id | Name |
+----+------+
|  1 | a    |
|  2 | a    |
|  1 | b    |
|  3 | a    |
|  1 | c    |
|  2 | b    |
+----+------+

1 个答案:

答案 0 :(得分:1)

Identity(1,1)创建AUTO_INCREMENT字段。如果“测试”人员以ID1开头,则“test”和“Tim”之间会发生冲突,因为您将[Duik_nr]定义为主键(不能有重复值)。所有主键只能包含每个值的一个实例。这就是为什么你得到(2,TIM)已经存在的错误。表格中已经有一个ID 2和一个名字“Tim”。

我相信您之前的记录或您的身份种子设置为更高的数字,因此AUTO_INCREMENT从更高的数字开始。

<击>

<击> Reset identity seed after deleting records in SQL Server