在SQL Server中自动递增主键上显示错误

时间:2018-07-09 15:55:44

标签: sql sql-server sql-server-2012

我想向SQL Server数据库添加用户地址,但是在输入一条记录后,它在主键上显示错误。我正在使用uniqueidentifier作为主键列。请提出如何解决此错误的建议。我使用的是SQL Server 2012,表的名称为tbladdress

错误是

  

违反PRIMARY KEY约束“ PK_Address_1”。无法在对象tblAddress中插入重复的密钥。重复的键值为(00000000-0000-0000-0000-000000000000)。

表结构:

CREATE TABLE [dbo].[tblAddress] 
(
    [AddressID]   UNIQUEIDENTIFIER NOT NULL,
    [Username]    VARCHAR(50)      NOT NULL,
    [UserId]      BIGINT           NOT NULL,
    [mobile]      VARCHAR(20)      NOT NULL,
    [Country]     VARCHAR(50)      NULL,
    [State]       VARCHAR(200)     NULL,
    [City]        VARCHAR(200)     NULL,
    [pincode]     VARCHAR(10)      NULL,
    [FullAddress] VARCHAR(300)     NULL,
    [landmark]    VARCHAR(150)     NULL,
    [Isactive]    BIT              NULL,
    [cdate]       DATE             NULL,

    CONSTRAINT [PK_Address_1] 
        PRIMARY KEY CLUSTERED ([AddressID] ASC)
);

1 个答案:

答案 0 :(得分:1)

从错误来看,似乎您正在尝试手动插入记录。请改用NEWID()

insert into tblAddress  (AddressID, Username, UserId, mobile)
values
(NEWID(),'John Cole',123456,'555555')
,(NEWID(),'John Anderson',65465465,'555444')

SQL FIDDLE