我想向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)
);
答案 0 :(得分:1)
从错误来看,似乎您正在尝试手动插入记录。请改用NEWID()
。
insert into tblAddress (AddressID, Username, UserId, mobile)
values
(NEWID(),'John Cole',123456,'555555')
,(NEWID(),'John Anderson',65465465,'555444')